android - 如何将 XML 转换为 Android 二进制 XML

标签 android xml binary

我正在创建一个可以部署 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/

相关文章:

android - 仅从当前应用读取 NFC 标签

android - 如何更改正在运行的 AlertDialog 的文本

mysql - 将 bigint 的二进制表示形式转换为 bin(8) 列

binary - Fortran:硬编码一些依赖于环境变量的代码

java - 尝试对二进制数求和时出现 ArrayIndexOutOfBoundsException

android - 了解 BaseAdapter 以及如何使用它们

android - 如何模拟 ListView 中第一项(或任何位置)的选择?

php - php simplexml_load_file 中的执行时间问题

java - 工具栏没有任何响应

Android工作室: XML document structures must start and end within the same entity