Android应用添加系统签名

综述:

根据项目的需求,需要给我们开发的app添加上系统签名。首先声明由于Android系统的碎片化,各个厂商的签名不尽一致,我所做的是给我们客户定制的Android系统或者Genymotion模拟器上的app进行签名。

本文只是各位小伙伴一个尽可能简单的描述,原文已经找不见了 =。= 只能靠自己的记忆,简单的总结一下

问题描述:

在开发系统应用的时候,需要给我们的开发的app添加上系统签名。

执行命令:

方法一:Java com.Android.signapk.SignApk platform.x509.pem platform.pk8 input.apk output.apk
方法二:Java -jar signapk.jar platform.x509.pem platform.pk8 input.apk output.apk

命令描述:

方法一需要两个密钥文件,和使用Android几个G的全量的代码编译出SignApk,再做操作,如果你有你想用的系统的全量代码,切不在乎Android系统编译的几个小时,可以采用这种方法。
方法二需要两个密钥文件,和对应系统的signapk.jar文件。signapk.jar如果是Genymotion的模拟器,可以直接在网上下载,如果是定制的系统,则需要自己编译。

材料准备:

  1. <Android_Source_Path>/build/target/product/security目录下找到platform.pk8platform.x509.pem。模拟器的可以去这里下载对应版本的密钥。
  2. 在Android系统的编译目录<Android_Source_Path>/build/tools/signapk找到signapk.apk或者在out/host/Linux-x86/framework/signapk.jar找到signapk.jar,或者在这里下载,已测试在5.1系统上可用。
  3. 然后根据你的材料执行上述方法一或者方法二即可。

PS:

印象中,原文作者有提到platform.pk8platform.x509.pem两个密钥在命令中的顺序不可变。
关于android:sharedUserId="android.uid.system"要不要添加,我也不太确定。我记得之前看大牛博客,有提到如果不添加会报错,但是我有一次忘记了加,也没有出现任何错误。个人建议,还是加上,毕竟你做的是系统应用,放到系统进程还是比较好一点。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容