天天开心^_^

Android Killer反编译失败:No resource identifier found for attribute 问题解决方法

28 08月
作者:popsky|分类:逆向

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 的目录

1.png

2.png

这里博主用的是 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:


3.png

打开命令行cmd进入刚才 apktool_2.4.1.jar 所在的目录,这里博主的目录是 E:\software:


cd /d E:\software


接着执行以下命令:


java -jar apktool_2.4.1.jar empty-framework-dir

4.png

执行完上面的命令后,再次回编译就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



浏览85 评论0
返回
目录
返回
首页
类2 Fiddler生成证书

发表评论