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. /build/target/product/security目录下找到platform.pk8platform.x509.pem。模拟器的可以去这里下载对应版本的密钥。
  2. 在Android系统的编译目录/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"要不要添加,我也不太确定。我记得之前看大牛博客,有提到如果不添加会报错,但是我有一次忘记了加,也没有出现任何错误。个人建议,还是加上,毕竟你做的是系统应用,放到系统进程还是比较好一点。

你可能感兴趣的:(Android应用添加系统签名)