Android 应用签名的两种方法

一、使用pem签名

    (一) apk签名命令

java ?jar signapk.jar [-w] publickey.x509[.pem] privatekey.pk8 Hello.apk Hello_signed.apk 
  • -w 是指对ROM签名时需使用的参数
  • publickey.x509[.pem] 签名公钥文件,例如platform.x509.pem,在build\target\product\security下
  • privatekey.pk8 签名私钥文件,例如platform.pk8,在build\target\product\security下
  • Hello.apk 要签名的apk或者rom
  • Hello_signed.apk 签名后生成的apk或者rom
  • signapk.jar 签名工具,编译完后可以/out/host/linux-x86/framework/目录下,源码地址/platform/build/tools/signapk/

       一般需要系统权限的使用platform签名命令

java -jar signapk.jar platform.x509.pem platform.pk8 Hello.apk Hello_signed.apk 

   (二)关于AndroidManifest中配置sharedUserId

     在AndroidManifest.xml中配置sharedUserId可以使apk获取响应的用户uid并且能够使用与该用户相关的权限,常用的sharedUserId有system,media,shared。

android:sharedUserId="android.uid.system"
android:sharedUserId="android.uid.shared"
android:sharedUserId="android.media" 

    这时候如果不使用响应签名的话应用是不能够安装的。

二、使用keystore签名

jarsigner -verbose -keystore Android.keystore -signedjar android_signed.apk android.apk android.keystore

以上就是Android签名的两种方法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

02-06 04:39