8

我有一个 AndroidManifest.xml,我需要将其转换为二进制文件并将其手动放入 APK。之后,我可以进行手动签名并对齐。

更长的解释:我在使用 APK 重新设计中使用的熟悉工具时 [再次] 遇到了麻烦,我正在使用不会崩溃的工具手动构建 APK。

Android 包括sdklib.jar,但我在调用它时遇到了麻烦(而且它可能不会“仅执行”XML -> 二进制转换)。

一个如何转换AndroidManifest.xml为二进制?

4

2 回答 2

7

您可以尝试像这样手动运行 aapt:

$LIBS"aapt" package -f -m -F output_unsigned.apk --auto-add-overlay -S main/res -J Temp/gen -G Temp/android-aapt.pro -A Temp/assets -M Temp/AndroidManifest.xml -I $LIBS"android.jar"

就我而言(在linux下):

  • $LIBS"aapt" 是 aapt 文件的路径
  • output_unsigned.apk 是保存创建的 APK 的位置
  • android-aapt.pro 是保存 proguard 配置的地方
  • Temp/gen, Temp/assets 是我的 Android 项目文件夹
  • Temp/AndroidManifest.xml 是所需的清单
  • $LIBS"android.jar" 是请求的 Android API 级别的 JAR 库

它可能不适合您开箱即用,但我希望它可以帮助您开始使用它。有关更多详细信息,请参阅 aapt 帮助。

于 2014-06-20T12:29:18.690 回答
3

如果你还没有看过,这里有android-apktool,它对这类事情很有帮助。在修改它们的二进制文件后,我已经成功地使用它们手动重新打包 APK。

您还可以在我的目录中查找该apkbuilder工具。android-sdk-linux/tools/(但是,它已被弃用。)

于 2012-09-12T22:06:01.247 回答