Android Killer反編譯失敗:No resource identifier found for attribute 問題解決方法

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:

https://ibotpeaches.github.io/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:

ApkTool官網:https://ibotpeaches.github.io/Apktool/

或者使用下面的 ShakaApktool_3.0.0-20170503-release.jar:

ShakaApktool_3.0.0-20170503-release.jar

還是不行的話,請換用下面的 Android Killer:

AndroidKiller_v1.3.1.zip

5 轉載請註明來自‘梧桐那時雨’的博客:https://blog.csdn.net/fuchaosz/article/details/104800802

Tips:
如果覺得這篇博客對你有幫助或者喜歡博主的寫作風格,就關注一下博主或者給博主留個言唄,鼓勵博主創作出更多優質博客,Thank you.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章