apktool高版本产生compileSdkVersion等错误

Posted 奥特曼超人Dujinyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apktool高版本产生compileSdkVersion等错误相关的知识,希望对你有一定的参考价值。

No resource identifier产生compileSdkVersion等错误

自动反编译工具引发了一个错误:

No resource identifier found for attribute ‘compileSdkVersion’ in package ‘android
No resource identifier found for attribute ‘compileSdkVersionCodename’ in package ‘android’

其实这是 apk高版本去编译后的问题

我们来使用apktool多个版本去编译后查看 AndroidManifest.xml 文件发现没问题,但是再反编译出来的会多出 android:compileSdkVersion=“23” 和 android:compileSdkVersionCodename=“6.0-2438415” 属性,如果是反编译的用户使用还会报错,刚好今天是新的笔记本,新的环境反而会觉得更有问题了,然后检查了build、buildtools、androidsdk、jdk等等的版本,都是正常的,匹配都是OK的,

最后看了下build后的 AndroidManifest.xml 文件,都是乱码,这是肯定的。

用自己编写的DuXML解下乱码,可以看到格式是如下的:


无法向下兼容,这样会很蛋疼,换成同个版本也会有问题,这样的话只能去看下引用的流程,这样的话,只能去看下安卓的源码了,compileSdkVersion和 buildtools都是高版本的,最低是23。

所以最后解决的办法就比较简单,对应的dx、apt 等都换成高版本即可解决了。



其它疑难杂症链接:《疑难杂症系列》
可关注微信公众号:python2048


|| 版权声明:本文为博主杜锦阳原创文章,转载请注明出处。

以上是关于apktool高版本产生compileSdkVersion等错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 apktool 更改版本号

“apktool:找不到命令”错误

Ubuntu使用ApkTool进行APK反编译

apktool 没有生成 apk 文件

升级到版本 11 后 Postgres 查询产生高磁盘 IO

apktool的下载,安装,反编译和重新打包