Android 如何使用APKTool增加versionCode?
我需要在签名的APK文件中增加Android 如何使用APKTool增加versionCode?,android,reverse-engineering,apktool,Android,Reverse Engineering,Apktool,我需要在签名的APK文件中增加versionCode 我谨此陈辞: apktool d myapk.apk 打开apktool.yml,递增版本代码并保存 apktool b jarsigner和zipalign Apk在手机上运行良好,但versionCode尚未更改。 下面是apktool.yml: version: 2.0.0 apkFileName: iVet.apk isFrameworkApk: false usesFramework: ids: - 1 sdkInfo:
versionCode
我谨此陈辞:
apktool d myapk.apk
apktool b
jarsigner
和zipalign
versionCode
尚未更改。
下面是apktool.yml:
version: 2.0.0
apkFileName: iVet.apk
isFrameworkApk: false
usesFramework:
ids:
- 1
sdkInfo:
minSdkVersion: '16'
targetSdkVersion: '21'
packageInfo:
forced-package-id: '127'
versionInfo:
versionCode: '3'
versionName: '1.1'
compressionType: false
sharedLibrary: false
unknownFiles:
VERSION: '8'
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="internalOnly" package="com.example.someApp" android:versionCode="12345" android:versionName="1.2.3.4.5">
Aug 11, 2015 12:56:52 PM brut.androlib.res.AndrolibResources aaptPackage
INFO: [/var/folders/5m/jph9d7q573b5yl5ybnhhx4000000gn/T/brut_util_Jar_5616282982200298928.tmp, p, -v, --forced-package-id, 127, --min-sdk-version, 5, --version-code, 12345, --version-name, 1.2.3.4.5, -F, /Users/caleb/example/someApp.apk, -0, arsc, -A, /Users/caleb/example/./assets, /Users/caleb/example/./build/apk]
警告:您所做的操作将使签名无效。您必须在安装之后放弃它,而且它看起来不像是最初的开发人员制作的。除了利用漏洞,这是没办法的 您只需将
versionCode
放在AndroidManifest.xml
中,它将覆盖apktool.yml
中提供给aapt
的参数,并发出警告。我自己刚刚证实了这一点
对AndroidManifest.xml的更改示例:
version: 2.0.0
apkFileName: iVet.apk
isFrameworkApk: false
usesFramework:
ids:
- 1
sdkInfo:
minSdkVersion: '16'
targetSdkVersion: '21'
packageInfo:
forced-package-id: '127'
versionInfo:
versionCode: '3'
versionName: '1.1'
compressionType: false
sharedLibrary: false
unknownFiles:
VERSION: '8'
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="internalOnly" package="com.example.someApp" android:versionCode="12345" android:versionName="1.2.3.4.5">
Aug 11, 2015 12:56:52 PM brut.androlib.res.AndrolibResources aaptPackage
INFO: [/var/folders/5m/jph9d7q573b5yl5ybnhhx4000000gn/T/brut_util_Jar_5616282982200298928.tmp, p, -v, --forced-package-id, 127, --min-sdk-version, 5, --version-code, 12345, --version-name, 1.2.3.4.5, -F, /Users/caleb/example/someApp.apk, -0, arsc, -A, /Users/caleb/example/./assets, /Users/caleb/example/./build/apk]
很明显,apktool.yml
中的值是从AndroidManifest.xml
中提取的:
由于某些原因,它们不包括在解码的
属性中。这可能是一个bug。您是否尝试改为修改AndroidManifest.xml?@Michael nope,AndroidManifest包含名为platformBuildVersionCode的奇怪值,该值不是我需要递增的“2”