在 Android 团队发布的与 Gradle 优化相关的各种文章和视频中,我看到了 ABI 更改和非 ABI 更改的构建性能比较。当使用 Java/Kotlin 编码以及使用 C++ 等本机代码时,这意味着什么?有哪些示例?
参考: 摘自视频:https://youtu.be/S_zZRBJxTQ0?t=267
希望这有帮助。参考/学分:https://github.com/gradle/gradle/issues/15886#issuecomment-989999391
ABI 代表应用程序二进制接口。
ABI 更改是修改 ABI 的更改,包括下游消费者编译所依据的“公共 api”。所有消费者都需要重新编译。
非 ABI 更改是不修改 ABI 的更改,iow 仅涉及“私有实现”。消费者编译可以跳过。