作爲一個實驗,我想使用我自定義的Android平臺的平臺密鑰來簽署任意APK,它是通過NDK構建的。要做這件事的過程是什麼?Android:建立平臺源碼後,如何用平臺密鑰簽名任意APK?
回答
如果您有平臺密鑰/證書對(.pk8 + x509.pem)。可以在pulbic sdk中的build/target/product/security下找到。
你可以在命令行中使用SignApk.jar
Java的罐子SignApk.jar platform.x509.pem platform.pk8 Application.apk Application_signed.apk
或者爲了使自動化更容易,您可以使用keytool-importkeypair將密鑰/證書對導入到您的java密鑰庫文件中,並使用ant makefile或eclipse進行簽名。
密鑰工具-importkeypair -k 〜/ .android/debug.keystore -p機器人 -pk8 platform.pk8 -cert platform.x509.pem -alias平臺
的signapk.jar(全部小寫)文件aprock' answer中提到的文件可以在prebuilts/sdk/tools/lib/signapk.jar
(或out/host/linux-x86/framework/signapk.jar
)找到。
下面我將介紹如何管理Eclipse使用的密鑰庫和ant release
。
下面這個命令將密鑰文件platform.pk8和X509證書platform.x509.pem並輸出tmp.p12解密密鑰材料。該名platformkey用於
openssl pkcs8 -inform DER -nocrypt -in platform.pk8 | \ openssl pkcs12 -export -in platform.x509.pem -inkey /dev/stdin \ -name platformkey -password pass: -out tmp.p12
Eclipse和ant debug
使用密鑰存儲在〜/ .android/debug.keystore其被鎖定的密碼android
。 (您也可以,如果你想指定的其他密鑰庫文件,如~/.android/mykeys.keystore
。)下一個命令存儲從tmp.p12在密鑰庫(關鍵材料,而不對鍵輸入密碼,如果你想要一個,下面編輯-srcstorepass ''
):
keytool -importkeystore -deststorepass android -srckeystore tmp.p12 \ -srcstoretype PKCS12 -srcstorepass '' -destkeystore ~/.android/debug.keystore
在這一點上,你可以刪除tmp.p12文件,因爲它不再需要。
爲了檢查什麼是你的密鑰庫,你可以運行下keytool
命令(它的線所示之後的輸出):
$ keytool -list -keystore ~/.android/debug.keystore -storepass android ... platformkey, Nov 23, 2013, PrivateKeyEntry, Certificate fingerprint (SHA1): 12:34:56:(stripped):AB:CD:EF
當你不再需要鑰匙,它可以
keytool -delete -keystore ~/.android/debug.keystore -storepass android -alias platformkey
在你local.properties
文件,把(如果省略key.*.password
選項,你每次登錄的時間APK進入吧):
key.store=${user.home}/.android/debug.keystore
key.alias=platformkey
key.store.password=android
key.alias.password=
可以運行ant release
使用您存儲在密鑰庫平臺的關鍵簽署APK。
- 1. 獲取平臺簽名密鑰
- 2. 任何CPU平臺和X86平臺
- 3. 如何讓maven構建平臺獨立?
- 4. 加密了Android/Java平臺
- 5. Android平臺API級別的源代碼
- 6. 正在下載Android平臺源代碼
- 7. Android平臺源代碼中的斷點
- 8. 平臺獨立流
- 9. Microsoft Azure平臺未顯示密鑰
- 10. 從源代碼構建Pentaho平臺用戶控制檯
- 11. 獨立於平臺的資源管理
- 12. Android平臺向後兼容
- 13. Android開發跨平臺到iOS平臺
- 14. OCR代碼在android平臺
- 15. 部分構建Android平臺
- 16. Android跨平臺
- 17. Android平臺
- 18. FFmpeg Android平臺
- 19. 你如何構建一個Android平臺?
- 20. 如何構建Android平臺工具?
- 21. Android。我如何創建一個平臺獨立文本文件?
- 22. 如何從android中建立.net平臺的web服務?
- 23. 是否有APK文件的開放源代碼管理平臺?
- 24. Arduino的任何平臺宏?
- 25. 能夠從任何平臺
- 26. 的PhoneGap構建 - 差距:平臺不排除每個平臺文件建立
- 27. 如何在AS3平臺遊戲中創建平臺?
- 28. 獨立於平臺的OSGi控制檯
- 29. 替換Android平臺上的預構建內核源代碼
- 30. 爲多平臺SWT應用程序構建一個平臺每個平臺
你也應該刪除META-INF文件夾中的APK =拉鍊-d my_application.apk META-INF/\ * – kreker 2016-01-18 00:10:36