快速导航
问题解决
经过逆向分析测试 确定Apktool在回编译时会采用C:\Users\Administrator\AppData\Local\apktool\framework下的1.apk覆盖被处理apk的compileSdkVersion属性为23,compileSdkVersionCodename属性为6.0-2438415
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:compileSdkVersion="23"
android:compileSdkVersionCodename="6.0-2438415" >
解决方法一,逆向1.apk文件修改AndroidMainfest.xml文件
解决方法二,逆向Apktool.jar内brut\androlib\android-framwork.jar文件,修改其中属性
以上两种逆向操作不做演示
解决方案
我修改后的jar和apk
如果有效,希望能给我github一颗星星,谢谢!
Github:https://github.com/lqf3206548/ApktoolNotChangeVersion
快速访问
方案一 ,替换Apk方案手动生成
下载我github下的1.apk替换你目录C:\Users\你的用户名\AppData\Local\apktool\framework下的1.apk文件
然后正常使用apktool即可
注意:若Apktool存在更新1.apk行为,更改则会失效,需要重新替换
方案二 ,替换Jar方案自动生成
下载我Github下的apktool.jar文件替换你环境变量或者你正在使用的apktool
删除你目录C:\Users\你的用户名\AppData\Local\apktool\framework下的1.apk文件
使用我的jar包反编译任意一个Apk,apktool会自动在目录下生成1.apk文件。
然后正常使用apktool即可
注意
我的修改基于我的需求,使用我的apktool你的应用版本会设置成
<manifest
android:compileSdkVersion="29"
android:compileSdkVersionCodename="10"
platformBuildVersionCode="30"
platformBuildVersionName="11">
<uses-sdk android:minSdkVersion="20" android:targetSdkVersion="30"/>
请自我斟酌