Android 使用命令行工具构建

Android Build with command-line tools

我试图了解 .apk 文件是如何从源代码构建的。我知道使用 Android Studio 或命令 gradlew 可以轻松完成构建。 Android Sdk 提供了多种用于构建 .apk 的工具,其中大部分我都知道它们的作用:

d8: java 字节码到 dalvik 字节码

aapt2:编译资源并link它们。此工具创建一个 .apk 编译资源文件。 (它还会创建 R.java 以引用代码中的资源。)

apksigner:取.apk并签名。否则,它无法安装在 Android 设备上。

zipalign:对齐.apk

的未压缩数据

最后两个工具用于 apk,其中已包含所有文件。我不明白的是编译代码和编译资源是如何组合的?在aapt2之前是用aapt打包的东西,但在Androids Documentation上什至没有列出。但是,aapt 仍在 Android Sdk 构建工具中。新的 aapt2 没有打包选项。

那么,问题是使用哪些命令行工具以及以何种顺序从源代码创建完整的 .apk?谢谢!

编辑: 我正在寻找的内容类似于 this,其中 .apk 是使用命令行逐步创建的。只有答案使用旧的aapt,我认为不再使用它了。

编辑 2: 感谢 Allen Shaw 为我提供了缺失的信息。我现在可以用 aapt2 编译一个应用程序。我的问题的答案只是压缩 aapt2 输出和 classes.dex.

您也可以使用aapt2命令

aapt2 link -o output.apk

参考 google 文档 here

将 .dex 文件添加到 apk 中:

zip -ur app-debug.apk classes.dex