用SignApk.jar对APK进行签名

  对apk签名需要使用SignApk.jar和签名文件。可以使用Android源码获取,若没有源码,可以在这下载:SignApk.jar。(包含了SignApk.jar和签名文件和批处理文件)

1 SignApk.jar

SignApk.jar是安卓源码包中的一个签名工具,代码位于Android源码目录下的/build/tools/signapk/SignApk.java文件中。可以编译生成SignApk.jar。

编译生成SignApk.jar步骤:

  ①进入/build/tools/signapk/文件夹

  ②执行命令: mm

  ③在out/host/linux-x86/framework/目录找到signapk.jar。

2 签名文件

  Android源码目录/build/target/product/security/中找到platform.pk8 platform.x509.pem等签名文件,把platform.pk8 与platform.x509.pem 拷贝出来。

 签名文件也可直接下载,下载地址:https://android.googlesource.com/platform/build/+/donut-release/target/product/security/。

3  使用SignApk.jar进行签名

PS:使用signapk前确保电脑上已经安装了JDK。

使用方法:java -jar signapk.jar  platform.x509.pem platform.pk8 old.apk new.apk 执行后new.apk即为签名后的文件。

  如果签名文件用的testkey.x509.pem和testkey.pk8, 就用java -jar signapk.jar testkey.x509.pem testkey.pk8 old.apk new.apk

4 安装签名后的apk

  Android Studio3.0以后会在debugapk的AndroidManifest.xml文件中,application标签里添加android:testOnly="true"属性。

adb安装时需要用adb install -t来安装,不然会报Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI]错误

  安装以后可以使用adb命令启动:adb shell am start -n 包名/MainActivity名。如:

  adb  shell am start -n com.example.verify/com.example.verify.MainActivity

posted on 2019-12-03 17:05  锋邢天下  阅读(5947)  评论(0编辑  收藏  举报

导航