1 問題
最近博主在用Android Killer反編譯自己寫的一個App的時候,反編譯正常,回編譯的時候失敗,這個App就是簡單的Hello World,所以,可以斷定是Android Killer的問題,報錯如下:
當前 Apktool 使用版本:Android Killer Default APKTOOL
正在編譯 APK,請稍等...
>I: Using Apktool 2.3.1
>I: Smaling smali folder into classes.dex...
>I: Building resources...
>W: E:\software\AndroidKiller_v1.3.12018整合版By吾愛論壇昨夜星辰2012\projects\hello_so\Project\AndroidManifest.xml:1: error: No resource identifier found for attribute 'compileSdkVersion' in package 'android'
>W:
>W: E:\software\AndroidKiller_v1.3.12018整合版By吾愛論壇昨夜星辰2012\projects\hello_so\Project\AndroidManifest.xml:1: error: No resource identifier found for attribute 'compileSdkVersionCodename' in package 'android'
>W:
>W: E:\software\AndroidKiller_v1.3.12018整合版By吾愛論壇昨夜星辰2012\projects\hello_so\Project\AndroidManifest.xml:2: error: No resource identifier found for attribute 'appComponentFactory' in package 'android'
>W:
報錯很多,但是我們只需要看error 後面的內容:
1 error: No resource identifier found for attribute 'compileSdkVersion' in package 'android'
2 error: No resource identifier found for attribute 'compileSdkVersionCodename' in package 'android'
3 error: No resource identifier found for attribute 'appComponentFactory' in package 'android'
報錯的大致意思就是說,AndroidManifest.xml 中的屬性 compileSdkVersion、compileSdkVersionCodename、appComponentFactory 在 android 包中找不到,但實際上根本不是這個原因
2 原因
經過一番搜索,發現是因爲C:\Users\{你的用戶名}\AppData\Local\apktool\framework\1.apk
這個文件導致的
3 解決方法
簡單的刪除 1.apk 並不能解決問題,因爲每次回編譯的時候又會自動生成這個文件,正確的解決方法是先進入Android Killer 所用的 Apktool 的目錄
這裏博主用的是 Apktool_2.4,可以看到對應的文件是 apktool_2.4.0.jar 這個文件,不過在 Android Killer 中我們無法直接查到這個 apktool_2.4.0.jar 所在的目錄,如果你忘記了 apkltool 的文件路徑沒關係,我們可以到下面的apktool官網地址下載最新版的apktool:
如果打不開沒關係,隨便在網上下載一個就可以了,目前最新版的是v2.4.1,接着我們把下載好的 apktoo_2.4.1.jar 導入 Android Killer:
打開命令行cmd進入剛纔 apktool_2.4.1.jar 所在的目錄,這裏博主的目錄是 E:\software:
cd /d E:\software
接着執行以下命令:
java -jar apktool_2.4.1.jar empty-framework-dir
執行完上面的命令後,再次回編譯就ok了
4 總結
就是進入 apktool 所在的目錄執行下面的命令:
java -jar apktool_2.4.1.jar empty-framework-dir
如果還是無法解決的話,就嘗試更換最新版本的 apktool:
或者使用下面的 ShakaApktool_3.0.0-20170503-release.jar
:
還是不行的話,請換用下面的 Android Killer:
5 轉載請註明來自‘梧桐那時雨’的博客:https://blog.csdn.net/fuchaosz/article/details/104800802
Tips:
如果覺得這篇博客對你有幫助或者喜歡博主的寫作風格,就關注一下博主或者給博主留個言唄,鼓勵博主創作出更多優質博客,Thank you.