標籤:apk orm security 技術分享 pac info idt nbsp 工具
方法一:使用自己的Android簽名工具給apk重新簽名:
(1)該目錄下有 media.pk8、media.x509.pem、platform.pk8、platform.x509.pem、shared.pk8、shared.x509.pem、testkey.pk8、testkey.x509.pem等簽名檔案,不同的簽名檔案,對應不同的許可權。Android預設的簽名檔案為testkey.pk8、testkey.x509.pem。
(2) Android內建的簽名工具為 signapk.jar, 可以在源碼編譯目錄out中找到,具體路徑為:out/host/linux-x86/framework/signapk.jar,簽名指令如下:
java -jar signapk.jar platform.x509.pem platform.pk8 old.apk new.apk (拷貝到同一目錄執行簽名)
8.0上驗證需要額外的一些參數:
java -Xmx2048m -Djava.library.path="out/host/linux-x86/lib64" \ (直接在源碼根目錄執行簽名)
-jar out/host/linux-x86/framework/signapk.jar \
-w build/target/product/security/platform.x509.pem \
build/target/product/security/platform.pk8 \
old.apk new.apk
方法二:通過Android源碼編譯成簽名apk:
(1)編寫Android.mk
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := appLOCAL_SRC_FILES := app.apkLOCAL_MODULE_CLASS := APPSLOCAL_MODULE_SUFFIX := .apkLOCAL_BUILT_MODULE_STEM := package.apkLOCAL_CERTIFICATE := platformLOCAL_DEX_PREOPT := falseLOCAL_PRIVILEGED_MODULE := trueinclude $(BUILD_PREBUILT)
(2)將apk放入.mk同目錄(命名為app.apk),配置好sdk編譯環境後執行mm指令,簽名apk產生在:out/target/product/xxxx/system/priv-app/app/app.apk 。
註:LOCAL_CERTIFICATE := platform 表示使用系統簽名
LOCAL_DEX_PREOPT := false 不提前最佳化,無oat檔案
方法三:Android studio配置簽名工具:
(1)產生本地key:
(2)下載 keytool-importkeypair 工具
./keytool-importkeypair -k [jks檔案名稱] -p [jks的密碼] -pk8 platform.pk8 -cert platform.x509.pem -alias [jks的別名]
如:
./keytool-importkeypair -k ./SignDemo.jks -p 123456 -pk8 platform.pk8 -cert platform.x509.pem -alias SignDemo
將修改好的SignDemo.jks更新到android studio原來設定的目錄,即可下一步產生簽名APK。
產生路徑:\xxxx\app\release
Android : apk系統簽名的多種方法