app 需要使用系统的权限 在 AndroidManifest.xml 中声明了系统全下申明了系统权限android:sharedUserId=“android.uid.system”
1.找到平台签名文件“platform.pk8”和“platform.x509.pem”
文件位置 android/build/target/product/security/
如果硬件厂商进行过二次开发,也会放在其它地方,例如:
./device/fsl/common/security/platform.pk8
./device/digi/common/security/platform.pk8
注:作者就曾经遇到过系统中有多个厂商的签名文件:GOOGLE的、CPU厂商的、开发板厂商的,乱成一锅粥,试了多次才找到对的。这步注意一下,一般用CPU厂商的。
2.签名工具“signapk.jar”
位置:android/prebuilts/sdk/tools/lib
或:out/host/linux-x86/framework/signapk.jar
3.签名证书“platform.pk8 ”“platform.x509.pem ”,签名工具“signapk.jar ”,需要签名的APK文件(eclips or android studio生成的)放置在同一个文件夹;
使用压缩软件打开apk,进入META-INF目录下,删除应用程序的3个签名文件:ERT.RSA ; CERT.SF ; MANIFEST.MT
4.执行命令
windows下:(进入这个文件夹,鼠标移至这个文件夹窗口上,按住shift,右击鼠标,打开cmd)
java -jar signapk.jar platform.x509.pem platform.pk8 xxx.apk xxx_signed.apk
在Ubuntu 编译环境执行:
java -jar signapk.jar platform.x509.pem platform.pk8 input.apk output.apk