android系统签名app自动更新,【Android 进阶】Apk 使用系统签名
剛入職的時候,固件中 app 需要在源碼中編譯,不是很理解,為什么不使用 IDE 編譯,然后 copy 到 /system/app/*,咨詢導師,得到反饋 app 需要使用系統的權限 在 AndroidManifest.xml 中聲明了系統全下申明了系統權限android:sharedUserId="android.uid.system"
隨著工作時間延長,慢慢理解了 apk 簽名機制,為了解決上述疑問,出現了 2 套解決方案:
單獨簽名解決方案
找到平臺簽名文件“platform.pk8”和“platform.x509.pem”
文件位置 android/build/target/product/security/
簽名工具“signapk.jar”
位置:android/prebuilts/sdk/tools/lib
簽名證書“platform.pk8 ”“platform.x509.pem ”,簽名工具“signapk.jar ”放置在同一個文件夾;
執(zhí)行命令
java -jar signapk.jar platform.x509.pem platform.pk8 Demo.apk signedDemo.apk
或者直接在Ubuntu 編譯環(huán)境執(zhí)行
java -jar out/host/linux-x86/framework/signapk.jar build/target/product/security/platform.x509.pem build/target/product/security/platform.pk8 input.apk output.apk
IDE 中添加源碼平臺生成證書 platform.keystore
生成平臺platform.keystore文件:
編譯平臺簽名文件“platform.pk8”和“platform.x509.pem”
文件位置:android/build/target/product/security/
把pkcs8格式的私鑰轉化成pkcs12格式:
openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out shared.priv.pem -nocrypt
把x509.pem公鑰轉換成pkcs12格式:
openssl pkcs12 -export -in platform.x509.pem -inkey shared.priv.pem -out shared.pk12 -name androiddebugkey
密碼都是:android
生成platform.keystore
keytool -importkeystore -deststorepass android -destkeypass android -destkeystore platform.keystore -srckeystore shared.pk12 -srcstoretype PKCS12 -srcstorepass android -alias androiddebugkey
Eclipse 添加證書
將生成的platform.keystore導入eclipse 在eclipse下Windows/preferences/Android/build中設置“Custom debug keystore”為剛才生成的platform.keystore即可
調試apk時直接點擊Debug As —> Android Application即使用系統簽名簽名了該apk
Android Studio 添加證書
image.png
image.png
總結
以上是生活随笔為你收集整理的android系统签名app自动更新,【Android 进阶】Apk 使用系统签名的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: diy直立双足机器人_Aelos Pro
- 下一篇: android sina oauth2.