gpt4 book ai didi

android - 如何使用 APKTool 增加 versionCode?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:47:03 25 4
gpt4 key购买 nike

我需要在签名的 APK 文件中增加 versionCode

我执行以下操作:

  1. apktool d myapk.apk

  2. 打开apktool.yml,增加versionCode并保存

  3. apktool b

  4. jarsignerzipalign

Apk 在手机上运行良好,但 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'

最佳答案

警告:您所做的会使签名无效。之后你必须退出它才能安装它,它看起来不像是原来的开发者制作的。没有办法解决这个问题,除了利用。

你可以把versionCodeAndroidManifest.xml它将覆盖给 aapt 的参数来自 apktool.yml警告。我自己也证实了这一点。

示例更改为 AndroidManifest.xml :

<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">

设置版本信息:https://developer.android.com/tools/publishing/versioning.html#appversioning

什么 aapt如果您更改了 apktool.yml,命令将看起来像:

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 中提取: https://github.com/iBotPeaches/Apktool/blob/0370416d9029d01f210556ab3662e3fa0f80c239/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/decoder/XmlPullStreamDecoder.java#L96

出于某种原因,它们未包含在解码的 <manifest> 中属性。这可能是一个错误。

关于android - 如何使用 APKTool 增加 versionCode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30774833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com