AndroidKiller:解决高版本APK编译错误
本帖最后由 森林雪人 于 2020-1-13 10:45 编辑1、反编译卡死
卡死在这里,解决方法参考:
https://www.52pojie.cn/thread-658341-1-1.html
2、反编译成功,无法回编
>W: E:\移动安全\静态分析反编译\反编译工具\AndroidKiller\projects\xiongdi\Project\AndroidManifest.xml:3: error: No resource identifier found for attribute 'roundIcon' in package 'android'
>W:
>brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [
android 7.1(api level 25)有一个新特性,就是圆形桌面Icon,对应的是在AndroidManifest.xml的application节点配置:android:roundIcon=”@mipmap/ic_launcher_round” 。
反编译后,在AndroidManifest.xml文件中将此属性删除再次回编译即可。
3、apktool版本太旧
Exception in thread “main”brut.androlib.AndrolibException: Could not decode 这个问题,就是apktool.jar比较老旧的问题。
apktools.jar下载官网:https://ibotpeaches.github.io/Apktool/install/对应平台下载,更新到apktool管理器,图片下方选择好默认的apktool版本。
4、编译时大量res资源错误
这个是最新发现的,错误类似下图
androidkiller使用的apktool反编译,为了找到错误原因使用apktool手工反编译,再回编译,出现
brut.androlib.AndrolibException: brut.common.BrutException: could not exec
在网上找到一种 方案是在反编译是加-r参数[阻止反编译resource,不修改resources.arsc,若仅仅修改java(smail),建议使用该选项。
在androidkiller中添加-r参数,如下图所示:
重新对包进行反编译,中间会有错误提示,不用管直接确定。
修改smali文件,再次编译打包,成功
当前 Apktool 使用版本:apktools2.4
正在编译 APK,请稍等...
>I: Using Apktool 2.4.0
>I: Smaling smali folder into classes.dex...
>I: Copying raw resources...
>I: Copying libs... (/lib)
>I: Building apk file...
>I: Copying unknown files/dir...
>I: Built apk...
APK 编译完成!
正在对 APK 进行签名,请稍等...
APK 签名完成!
---------------------------
APK 所有编译工作全部完成!!!
注:也可以使用MT管理器反编译,MT管理器不会出现此错误。
644134574 发表于 2018-6-9 00:17
无法回编这个地方没看明白,是反编译完成之后,删掉包里的东西?。还是修改AK?
是删除包里的AndroidManifest.xml文件中的android:roundIcon=”@mipmap/ic_launcher_round” ,sdk25或更高版本编译的包才有这个属性。 这个 感觉非常 好 可以学习学
第二条没遇到过,顶一个{:1_893:}
谢谢分享 解决问题 {:301_997:}又有新方法了,谢谢楼主分享。正需要。 我也遇到这问题 感谢分享,期待后续可以提供更多错误提示的方法! 谢谢分享 酷喵编译后的apk,安装后在启动页卡死,不知道啥原因啊,大神。