天天看點

反編譯apk,修改sdk檔案,重新簽名

前置準備工具和工作

1) dex2jar : https://github.com/pxb1988/dex2jar

2) apktool : https://github.com/iBotPeaches/Apktool

3) 一個android 的key : Android Studio -> Build -> Generate Signed APK -> Create New 設密碼和位置

4) 參考網頁:http://www.jianshu.com/p/eb766d2bb837

5) 用一個新的app “AdLoadDemo”,包進我們的sdk ,參考接入文檔

(“AdLoadDemo” 名字自己隨便取就可以了)

https://appcooking.gitbooks.io/ac-docs/content/android-%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97.html

步驟

1) 改好sdk的代碼 -> rebuild project 產生新的aar

2) 把新的aar放到進 app “AdLoadDemo“ -> build -> Generate Signed APK -> 產生 apk 在 AdLoadDemo/app/app-release.apk

3) 把用戶的 customer apk 用 apktool 解開 :./tool/apktool/apktool.sh d customer.apk

反編譯apk,修改sdk檔案,重新簽名

4) 把自己的 AdLoadDemo apk 用apktool 解開 ./tool/apktool/apktool.sh d app-release.apk

反編譯apk,修改sdk檔案,重新簽名

5) 把新的sdk smali檔案拷貝進用戶的apk裡面。 cp -rf ./app-release/smali/com/appcooking/android ./customer/smali/com/appcooking replace

6) 重新打包custom apk : ./tool/apktool/apktool.sh b customer 會生成相應的class.dex檔案,目錄:custom/build/apk/classes.dex

7) 重新sign 指令:jarsigner

jarsigner -verbose -keystore /Users/huaxuhai/Documents/soft/demo.keystore -storepass appcook -digestalg SHA1 -sigalg MD5withRSA -signedjar hua.apk pcamera_change.apk demo.keystore

反編譯apk,修改sdk檔案,重新簽名

8) 可以安裝 custom.apk 裡面就是新的sdk代碼

反編譯apk,修改sdk檔案,重新簽名

AndResGuard 的狀況:會在第 6 步出錯,如果遇到錯誤,加入下面動作

6-1 解壓縮用戶的 custom.apk -> ccustom.zip -> 解壓 custom/

6-2 取出 apktool 打包後產生的class.dex. ./custom/build/apk/classes.dex 放進custom/ 裡面

6-3 去除apk中的兩個檔案,META_INF目錄下的CERT.RSA. CERT.SF

6-4 把 custom/下面所有的檔案壓縮 -> 改名回 custom_change.apk

回到 7 的動作