Android APK 的构建
APK 文件就是一个压缩包
先看看 Android APK 的构建流程图
这是老版本的流程图 现在我在Google的Android文档上已经找不到了
Google/Android的官方文档命令行构建的方法还是基于 gradle 在做
如果有手工编译的想法 可以参考 知乎此文 不过就是不知道对应的工具应该在哪儿下载
这是官方现存的比较笼统的流程图
Kotlin
Kotlin代码编译的阶段与Java代码的编译是同时期的 编译产物都是 .class 文件
.class 与 .dex
JVM可以直接执行 .class 但Android的Dalvik/ART 二进制文件为 .dex 所以需要将 .class 转化打包为 .dex
desugar 操作可以实现向前兼容
从 .class 到 .dex 中间的流程有一个演进过程
DX -> D8 -> R8
的演变:
- DX 是早期(低版本)的工具
- D8 是后期(高版本 Since 3.2)的工具
- R8 是添加混淆后的D8(Since AGP3.4)
下图是R8开启前后的流程