android编译优化

AAR

首次运行时间:
485.0s

android gradle 7.2升级
Android Gradle plugin supports Configuration cache from 7.0.0. Current version is 4.0.1.
Start AGP Upgrade Assistant
image.png

迁移KTS

小伙快把你的Gradle从Groovy迁移到KTS - 掘金
Kotlin DSL 实战:像 Compose 一样写代码 - 掘金

什么是 DSL

DSL 全称是 Domain Specific Language,即领域特定语言。顾名思义 DSL 是用来专门解决某一特定问题的语言,比如我们常见的 SQL 或者正则表达式等,DSL 没有通用编程语言(Java、Kotlin等)那么万能,但是在特定问题的解决上更高效。

创作一套全新新语言的成本很高,所以很多时候我们可以基于已有的通用编程语言打造自己的 DSL,比如日常开发中我们将常见到 gradle 脚本 ,其本质就是来自 Groovy 的一套 DSL.

Kotlin 是一门对 DSL 友好的语言,它的许多语法特性有助于 DSL 的打造,提升特定场景下代码的可读性和安全性

Kotlin 是 Android 的主要编程语言,因此我们可以在 Android 开发中发挥其 DSL 优势,提升特定场景下的开发效率。例如 Compose 的 UI 代码就是一个很好的示范,它借助 DSL 让 Kotlin 代码具有了不输于 XML 的表现力,

KSP

ksp,加快编译速度
ksp出来以前,对于这种注解解释器,我们使用的都是java所提供的AbstractProcessor
官方对于ksp的介绍就是,这是一个轻量级替换kapt的一个方案,优点就是速度更快,参数更少更简单一点
同时ksp相比于kapt接入方式也更清凉,还有就是它本身也支持增量编译等

由于官方文档中推荐我们使用gradle.kts,所以这次对项目整体进行了升级。这部分后续会更新另外一个文章,凡事还是逃不开真香定律的,这东西相比于Groovy对开发也更友善一点,毕竟kts还是强类型语言。
迁移Kapt到KSP, Kapt将很快被废弃 - 掘金

以下是迁移步骤概览:

  1. 检查你使用的库是否支持 KSP.
  2. 在项目中添加 KSP 插件.
  3. 用 KSP 替换注解处理器.
  4. 移除 kapt 插件.

AGP、kotlin、compose对应版本

Configure a Gradle project | Kotlin Documentation

Compose 与 Kotlin 的兼容性对应关系  |  Android 开发者  |  Android Developers

image.png
image.png
classpath 'com.android.tools.build:gradle:版本号' 指定了 AGP 的版本。
而 Gradle 的版本通常在 gradle/wrapper/gradle-wrapper.properties 文件中指定


android编译优化
http://peiniwan.github.io/2024/04/4a3e5f14a004.html
作者
六月的雨
发布于
2024年4月6日
许可协议