用SignApk.jar對APK進行簽名

  對apk簽名須要使用SignApk.jar和簽名文件。可使用Android源碼獲取,若沒有源碼,能夠在這下載:SignApk.jar。(包含了SignApk.jar和簽名文件和批處理文件)java

1 SignApk.jarlinux

SignApk.jar是安卓源碼包中的一個簽名工具,代碼位於Android源碼目錄下的/build/tools/signapk/SignApk.java文件中。能夠編譯生成SignApk.jar。android

編譯生成SignApk.jar步驟:shell

  ①進入/build/tools/signapk/文件夾app

  ②執行命令: mm工具

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

2 簽名文件google

  Android源碼目錄/build/target/product/security/中找到platform.pk8 platform.x509.pem等簽名文件,把platform.pk8 與platform.x509.pem 拷貝出來。spa

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

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

相關文章
相關標籤/搜索