对Android APK进行系统签名
前情提要
编译的APK中涉及到了系统权限,需要在AndroidManifest.xml中插入如下代码:
`<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxxx.xxxx"
android:sharedUserId="android.uid.system">
</manifest>`
编译成功,安装时遇到报错:
INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
这时候就需要对apk进行系统签名了。
常见系统签名方式
手动签名方式
1、从android源码中取得签名文件:
build/target/product/security/目录下的platform.pk8和platform.x509.pem
注:这两个文件是系统提供的security文件,不同编译下生成的security文件内容不同,需针对该安卓系统下的编译生成的security文件,因此这也限定了该系统签名后的应用只能在该系统下运行,在其他系统下运行就不具有系统权限。所以根据实际需要去获取它们吧。
out/host/linux-x86/framework/signapk.jar
将上述三个文件和要签名的apk置于同一目录
2、执行cmd
java -jar signapk.jar