【问题标题】:How to increment versionCode using APKTool?如何使用 APKTool 增加 versionCode?
【发布时间】:2015-08-26 19:07:36
【问题描述】:

我需要在签名的 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'

【问题讨论】:

  • 您是否尝试修改 AndroidManifest.xml?
  • @Michael nope,AndroidManifest 包含名为 platformBuildVersionCode 的奇怪值,该值不是我需要增加的“2”

标签: android reverse-engineering apktool


【解决方案1】:

警告:您正在做的事情将使签名无效。之后您必须辞职才能安装它,而且它看起来不像原始开发人员所做的那样。除了利用漏洞之外,没有办法解决这个问题。

您可以将versionCode 放在AndroidManifest.xml 中,它会覆盖从apktool.yml 提供给aapt 的参数并发出警告。我自己也证实了这一点。

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

如果您更改了apktool.ymlaapt 命令会是什么样子:

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

由于某种原因,它们未包含在解码后的&lt;manifest&gt; 属性中。这可能是一个错误。

【讨论】:

    猜你喜欢
    • 2015-02-07
    • 2013-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-19
    • 2021-07-07
    相关资源
    最近更新 更多