1、回编译出现文件名或扩展名太长错误
解决方案:减少apktool.yml文件中doNotCompress不加密的文件
2、回编译出现“class not find brut.androidlib.meta.MetaInfo”
解决方案:删除apktool.yml文件中的第一行代码【!!brut.androidlib.meta.MetaInfo】
3、aapt处理时提示“First type is not attr!”
解决方案:aapt版本出现问题,替换当前最新的版本,别忘记apktool中还有aapt版本
4、apktool反编译的时候出现警告【counld not write to 文件路径】
解决方案:配置apktool相对路径
5、对于回编译的时候出现方法数超出限制
解决方案:尝试将smali中的文件转移到其他smali_classes路径下
6、出现【java.lang.UnsupportedClassVersionError】
解决方案:调整java与javac的版本匹配
7、回编译出现系统资源找不到
解决方案:更新android.jar到最新的系统框架
8、出现一些适配res目录中属性找不到或报错的情况
解决方案:可以暂时删除当前属性,或把整个适配文件也删除
9、有些包直接修改了包名后,出现找不到R文件的情况
解决方案:需要再一次编译R文件后再回编译
10、出现回编译前后包体大小发生重大变化
解决方案:调整apktool.yml中doNotCompress文件集合,使得有些文件需要压缩
11、回编译的时候,日志显示不是PNG图片
解决方案:找到相应的图片,用图片工具重新转换PNG格式
12、回编译出现找不到complieSdkVersion、compileSdkVersionCodename
解决方案:更新android.jar最新版本
13、编译出现【java.lang.UnsupportedClassVersionError】
解决方案:当前电脑的jdk版本过低
14、编译后包体出现微信闪退
解决方案:需要再微信activity中加入configChanges="screenSize"
15、运行包体崩溃,日志显示:【java.lang.NoSuchMethodError:NO static method checkSelfPermission】
解决方案:更新support-V4包
16、运行包体崩溃,日志不明显
解决方案:查看新加入的sdk是否存在so库,如果有,请保持和母包同样的环境目录,如果没有,再查看是否时jar冲突
17、运行包体,支付闪退
解决方案:删除manifest中对应支付组件样式资源【NO_DISPLAY】
18、出现MalformedByteSequenceException:2字节的UTF-8序列的字节2无效
解决方案:Manifest文件中存在中文字符,出现乱码
19、icon不对
解决方案:替换所有涉及icon的目录下的资源
20、反编译失败,出现serializeToResValuesXml
解决方案:修改apktool命令 带上-r
21、回编译报错,出现找不到的资源
解决方案:删除找不到的资源的索引信息
注意:
1、编译和回编译最好使用同一个apktool操作
2、apktool中记得需要及时更新Android框架版本
3、apktoo2.1一下默认对assets下加密的,高于2.1版本默认时不加密的,需要自己手动加密,具体需要加密的文件后缀参考apktool源码中说明信息
4、出现aapt版本也需要升级,注意要考虑aapt2的影响
5、打包过程注意jar冲突
6、打包后运行不正常,排查母包是否限制包名,签名
7、出现其他异常编译或回编译异常的情况,可以尝试更换apktool版本
持续更新中。。。。
网友评论