android apk签名工具_Android 应用修改为系统签名的方法(macOS)
在做 Android 工控機應用開發時,經常會涉及到一些要系統簽名才能做的功能,比如應用靜默更新,關機重啟等功能。
本文介紹系統簽名的具體操作方法。
需要準備的東西,相關的簽名文件、簽名工具、要簽名的應用 apk
簽名文件 “platform.pk8”和“platform.x509.pem”
文件在源碼位置: android/build/target/product/security/
下載地址
https://android.googlesource.com/platform/build/+/donut-release/target/product/security/?android.googlesource.com簽名工具 signapk.jar
文件在源碼位置:android/prebuilts/sdk/tools/lib
下載地址
https://android.googlesource.com/platform/prebuilts/sdk/+/refs/heads/master/tools/lib/?android.googlesource.comPS:在實際開發中,如果你只是拿現成的板子來開發的話,以上文件通常是板子方案商提供的。
然后把上述文件和你要簽名的 apk 包放到同一個目錄下
2. 再把刪除后的文件重命名回.apk , 由文件夾壓縮成文件。
前期準備完成,最后一步,打開終端,輸入指令進行系統簽名
java -jar signapk.jar platform.x509.pem platform.pk8 fileName.apk rename.apk如果一切順利,就能成功輸出帶有系統簽名的安裝包了。
如果報錯:
Signapk.jar giving error java.lang.ClassNotFoundException: sun.misc.BASE64Encoderjdk 版本問題,要用 java8 來打包才行,電腦自帶的已經到 13 了
切換系統 java 版本到 8 即可,操作如下。
mac 查看當前 jdk 版本
java -version本人的 jdk 版本為 13,難怪報錯了。
安裝jdk8,到官網下載,需要注冊 oracle 賬號登錄才能下
配置環境變量
打開 ~ 文件夾下的 .bash_profile,添加
//因為本人是安裝了以下兩個版本,你若安裝了別的版本,就相應改修即可
alias java13="export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home" alias java8="export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home"查看 jdk 文件夾名字的方法,進去 /Library/Java/JavaVirtualMachines/ 查看即可
然后重啟終端,輸入 java8 即可切換電腦的 jdk 版本,再輸入 java -version 看是否切換成功
然后再進入之前的文件夾,輸入
即可簽名成功
PS:如果你使用了 zsh,輸入 java8 時會報錯
zsh: command not found: java8這時候打開在 ~ 下的 .zshrc , 底部增加一句
source ~/.bash_profile終端執行 source .zshrc 使配置生效
然后重啟終端,就能執行之前的指令了,成功輸出帶有系統簽名的安裝包。
本文完。
總結
以上是生活随笔為你收集整理的android apk签名工具_Android 应用修改为系统签名的方法(macOS)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ssm框架app管理平台_后端程序员跨平
- 下一篇: python核心编程电子版_python