[Android] apk 解包 重簽的簡(jiǎn)單步驟

有時(shí)候,我們?cè)跊]有源碼的情況下拿到APK,而且需要修改一下APK中的資源,例如:包名、應(yīng)用名稱、圖片等,那么,我們就需要對(duì)APK進(jìn)行解包,然后修改資源,再重新打包和重新簽名等一系列的操作,本文章就是對(duì)這些步驟進(jìn)行簡(jiǎn)單介紹。

環(huán)境搭建

  1. JDK 安裝:安裝JDK
  2. Android 開發(fā)環(huán)境搭建:安裝Android studio
  3. apktool的使用以及安裝:https://ibotpeaches.github.io/Apktool/

步驟

  1. 解包:
    apktool d <apk文件絕對(duì)路徑> -o <解包后輸出的文件目錄路徑>

  2. 重新打包APK:
    apktool b <解包后輸出的文件目錄路徑> -o <新apk文件絕對(duì)路徑>

  3. 重新簽名:
    jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore <簽名文件名路徑> -storepass <簽名密碼> <待簽名apk文件絕對(duì)路徑> <簽名的別名>

  4. 簽名完成后,建議對(duì)APK文件進(jìn)行一次對(duì)齊操作:(該命令位于:../Android/sdk/build-tools/build-tools-version/ 目錄下面):
    zipalign 4 <已簽名apk文件絕對(duì)路徑> <對(duì)齊apk文件絕對(duì)路徑>

  5. 驗(yàn)證簽名是否成功:
    jarsigner -verify -verbose -certs <對(duì)齊apk文件絕對(duì)路徑>

FQ

  1. 如果以上的命令找不到,請(qǐng)根據(jù)系統(tǒng)(Window、Mac)配置環(huán)境變量;
  2. 如果在Mac系統(tǒng)下,運(yùn)行腳本提示:permission denied: apktool,則需要使用:sudo chmod +x /usr/local/bin/apktool來(lái)給apktool 添加可執(zhí)行權(quán)限;
  3. 如果在Mac系統(tǒng)下,運(yùn)行腳本提示:command not found: zipalign,則需要使用命令進(jìn)入到 ../Library/Android/sdk/build-tools/build-tools-version/ 目錄中,然后使用 ./zipalign 方式運(yùn)行對(duì)齊腳本。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容