我正在创建一个可以部署 Android 应用程序的软件,但 apk 文件中的 AndroidManifest 是自定义二进制 XML 格式。我想知道的是,是否有一种工具可以让我将自己的 AndroidManifest.xml 文件添加到 apk 中(添加时将其转换为 AXML),或者是否在任何地方解释了格式,以便我可以创建我的自己的转换器
最佳答案
使用 Android 打包工具 (aapt.exe) 解决了这个问题
aapt.exe package -f -m -J src -M AndroidManifest.xml -S res -A assets -0 "" -I android.jar -F MyApp.apk
根据docs :
-f
force overwrite of existing files
-m
make package directories under location specified by -J
-J
specify where to output R.java resource constant definitions
-M
specify full path to AndroidManifest.xml to include in zip
-S
directory in which to find resources. Multiple directories will be scanned and the first match found (left to right) will take precedence
-A
additional directory in which to find raw asset files
-0
specifies an additional extension for which such files will not be stored compressed in the .apk. An empty string means to not compress any files at all.
-I
add an existing package to base include set
-F
specify the apk file to output
这需要一个普通的 xml list 并将其打包成二进制 XML 并将其插入到 apk 中。
不幸的是,它要求资源和 Assets 存在(如果您在 list 文件本身中引用它们)。我还必须将任何其他数据添加回 apk 文件。不理想,但至少可以用
关于android - 如何将 XML 转换为 Android 二进制 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11367314/