我试图了解如何.apk
从源代码构建文件。我知道使用 Android Studio 或使用命令gradlew
可以轻松完成构建。Android Sdk 提供了多种用于构建 .apk 的工具,我知道它们中的大多数是做什么的:
d8
: java 字节码到 dalvik 字节码
aapt2
: 编译资源并链接它们。该工具创建一个.apk
编译资源文件。(它还创建R.java
引用代码中的资源。)
apksigner
: 接受.apk
并签名。否则,它无法安装在 Android 设备上。
zipalign
: 对齐未压缩的数据.apk
最后两个工具用于apk
已包含所有文件的 . 我不明白的是编译代码和编译资源是如何结合的?之前aapt2
是打包完成的东西aapt
,但它甚至没有在Androids 文档中列出。但是,aapt
仍然在 Android Sdk build-tools 中。新aapt2
的没有包装选项。
那么,问题是使用哪些命令行工具以及以何种顺序.apk
从源代码创建完整的?谢谢!
编辑:我正在寻找的内容与此类似,其中 a.apk
是使用命令行逐步创建的。只有答案使用 old aapt
,我认为不再使用。
编辑 2:
感谢Allen Shaw给了我缺失的信息。我现在可以使用aapt2
. 我的问题的答案只是压缩aapt2
输出和classes.dex
.