Apktool编译报错文件名或扩展名太长
出现这个问题貌似是因为命令行支持的字符串长度有限制,字符串的长度是8191个字符。
最后在Linux下操作完成(Mac下也可以)。
反编译包后apktool.yml文件的doNotCompress变少
重新编译后包体积变大
注意 doNotCompress 字段,有的文件不压缩体积就会变大
回编译报错:brut.androlib.AndrolibException: brut.common.BrutException
原因
cmd命令行长度有限制,Windows XP或更高版本,最大长度 8191 个字符。如果超过8191就会有问题。一般apk回编是没得问题,如果apk中不压缩的资源太多就会造成回编失败的问题,不压缩资源目录在apktool.yml中。
解决方法
修改Apktool命令执行长度,即减少不压缩的资源。
Encountered small uint that is out of range at offset 0x38
原因
classes.dex文件里可能包含无法反编译的内容,比如 A3AEECD8.dex 。
解决方法
- 更新 apktool 到最新版本,本人更新到的是 2.4.1;
- 使用参数
--only-main-classes
apktool d app-debug.apk --only-main-classes
No resource identifier found for attribute ‘compileSdkVersion’ in package ‘android’
解决方法
1.新建任意空文件,比如:mkdir framework
2.输入
apktool b apkDir -p framework -o apkDir_build.apk
apkDir:要编译的目录