
下面的記錄是在我敲入以下命令后遇到的錯誤:(相信學(xué)習(xí)逆向的同學(xué)一定不會生疏:)
apktool b -f E:\decode -o E:\Decompile.apk
回編譯出現(xiàn)文件名或擴展名太長錯誤
解決方案:減少apktool.yml文件中doNotCompress不加密的文件回編譯出現(xiàn)“class not find brut.androidlib.meta.MetaInfo”
解決方案:刪除apktool.yml文件中的第一行代碼【!!brut.androidlib.meta.MetaInfo】aapt處理時提示“First type is not attr!”
解決方案:aapt版本出現(xiàn)問題,替換當(dāng)前最新的版本,別忘記apktool中還有aapt版本apktool反編譯的時候出現(xiàn)警告【counld not write to 文件路徑】
解決方案:配置apktool相對路徑對于回編譯的時候出現(xiàn)方法數(shù)超出限制
解決方案:嘗試將smali中的文件轉(zhuǎn)移到其他smali_classes路徑下(smali_classes2,smali_classes3…等等)出現(xiàn)【java.lang.UnsupportedClassVersionError】
解決方案:調(diào)整java與javac的版本匹配回編譯出現(xiàn)系統(tǒng)資源找不到
解決方案:更新android.jar到最新的系統(tǒng)框架出現(xiàn)一些適配res目錄中屬性找不到或報錯的情況
解決方案:可以暫時刪除當(dāng)前屬性,或把整個適配文件也刪除有些包直接修改了包名后,出現(xiàn)找不到R文件的情況
解決方案:需要再一次編譯R文件后再回編譯出現(xiàn)回編譯前后包體大小發(fā)生重大變化
解決方案:調(diào)整apktool.yml中doNotCompress文件集合,使得有些文件需要壓縮回編譯的時候,日志顯示不是PNG圖片
解決方案:找到相應(yīng)的圖片,用圖片工具重新轉(zhuǎn)換PNG格式回編譯出現(xiàn)找不到complieSdkVersion、compileSdkVersionCodename
解決方案:更新android.jar最新版本編譯出現(xiàn)【java.lang.UnsupportedClassVersionError】
解決方案:當(dāng)前電腦的jdk版本過低編譯后包體出現(xiàn)微信閃退
解決方案:需要再微信activity中加入configChanges="screenSize"運行包體崩潰,日志顯示:【java.lang.NoSuchMethodError:NO static method checkSelfPermission】
解決方案:更新support-V4包運行包體崩潰,日志不明顯
解決方案:查看新加入的sdk是否存在so庫,如果有,請保持和母包同樣的環(huán)境目錄,如果沒有,再查看是否時jar沖突運行包體,支付閃退
解決方案:刪除manifest中對應(yīng)支付組件樣式資源出現(xiàn)MalformedByteSequenceException:2字節(jié)的UTF-8序列的字節(jié)2無效
解決方案:Manifest文件中存在中文字符,出現(xiàn)亂碼icon不對
解決方案:替換所有涉及icon的目錄下的資源反編譯失敗,出現(xiàn)serializeToResValuesXml
解決方案:修改apktool命令 帶上-r回編譯報錯,出現(xiàn)找不到的資源
解決方案:刪除找不到的資源的索引信息R文件各種找不到
需要將apktool和aapt工具同步升級到最新版本。-
方法個數(shù)過多(超過65535)
“Exception in thread "main" org.jf.util.ExceptionWithContext: Unsigned short value out of range: 71412”,需要將多余的smali文件,移到smali_classes2,smali_classes3…等等,目前最多支持5個,應(yīng)該夠用了。
解決方案:QuickSdk一游戲母包如何解決方法數(shù)超限
23、可以正常構(gòu)建,運行在設(shè)備上會出現(xiàn)各種類文件缺失
一般是smail文件過多導(dǎo)致自動刪減了部分代碼有關(guān),建議分dex包處理或者耐心點,缺失哪個文件補哪個。
注意:
1、編譯和回編譯最好使用同一個apktool操作
2、apktool中記得需要及時更新Android框架版本
3、apktoo2.1一下默認(rèn)對assets下加密的,高于2.1版本默認(rèn)時不加密的,需要自己手動加密,具體需要加密的文件后綴參考apktool源碼中說明信息
4、出現(xiàn)aapt版本也需要升級,注意要考慮aapt2的影響
5、打包過程注意jar沖突
6、打包后運行不正常,排查母包是否限制包名,簽名
7、出現(xiàn)其他異常編譯或回編譯異常的情況,可以嘗試更換apktool版本
大部分內(nèi)容轉(zhuǎn)自這篇blog:聚合sdk打包問題處理
一小部分是自己補充,后面遇到問題會陸續(xù)更新,就當(dāng)記錄和共享~

