1

有人告诉我,有一种方法可以使用 aapt 的--version-code选项将版本代码添加/插入到清单未定义的 APK 中。但是,我没有找到任何这样做的人的例子(除了https://groups.google.com/forum/#!msg/adt-dev/XjehZDzfXhk/g2sWBC37_I4J,它链接到一个死页而不是即使我正在尝试做同样的事情)如果确实可以做到的话。

当前aapt d badging example.apk在有问题的 apk 上运行会返回类似

包:name='com.example.core' versionCode='' versionName='1.0.0' sdkVersion:'8'

在我的清单中,我目前将 versionName 定义为 xml 文件中的字符串,因此我可以使用类似android:versionName="@string/app_version_name"(在清单标记内)的内容将其拉入。但是,如果我使用版本代码尝试此操作,它似乎不想解析引用。它尝试将版本代码逐字设置为我输入的路径,然后由于它不是整数而失败。

我试图做类似的事情,aapt p --version-code 100 example.apk但它似乎想要打包整个项目并期望文件目录作为输入,而不是 apk 文件。(我认为这是 的默认行为aapt p[ackage]

是否可以在使用 aapt 工具构建 APK 后设置其版本代码?如果是这样,正确的语法是什么?

4

1 回答 1

2

此解决方案不会直接使用 aapt,但会在幕后使用。

您可以使用Android APKTool打开您的APK,修改 AndroidManifest.xml 文件,添加版本信息;然后再次使用 APKTool 重新打包。该工具是开源的并使用 aapt。因此,您可以查看它的代码以了解如何直接使用 aapt 来完成它。

于 2012-07-31T02:44:57.667 回答