返回

掌握AGP 2.3.0版Android Gradle构建,告别exploded-aar

Android

在Android开发的世界中,Gradle构建系统扮演着至关重要的角色,它决定了我们如何构建、编译和管理Android项目。随着Android Gradle插件(AGP)不断更新,我们不断见证着构建过程的改进和新功能的引入。

最近发布的AGP 2.3.0版带来了许多令人兴奋的特性和优化,其中最引人注目的就是弃用exploded-aar。对于那些不熟悉这个概念的人来说,exploded-aar是一种用于依赖项处理的特殊机制,它将aar文件中的内容提取到项目的libs文件夹中。虽然这在某些情况下很有用,但它也带来了性能问题和复杂性。

在AGP 2.3.0中,exploded-aar已被弃用,取而代之的是一种更有效的方法来处理依赖项。这意味着依赖项将直接链接到项目的构建工件中,而无需提取到libs文件夹中。这带来了几个好处:

  • 更快的构建时间: 减少提取依赖项的时间,提高了整体构建速度。
  • 更小的构建工件: 由于依赖项不再存储在libs文件夹中,构建工件的大小将减小。
  • 简化的依赖项管理: 通过消除exploded-aar,依赖项管理变得更加容易和一致。

要开始使用AGP 2.3.0版并弃用exploded-aar,只需按照以下步骤操作:

  1. 将Gradle版本更新到7.0.2或更高版本。
  2. 在项目中应用AGP 2.3.0版本。
  3. 移除所有使用exploded-aar标志的依赖项声明。

以下是示例:

// 弃用之前的依赖项声明
dependencies {
    implementation 'com.example.library:library:1.0.0' {
        exclude module: 'library-impl'
    }
    implementation 'com.example.library:library-impl:1.0.0'
}

// 更新后的依赖项声明
dependencies {
    implementation 'com.example.library:library:1.0.0'
}

通过这些更改,您的项目将不再使用exploded-aar,并从AGP 2.3.0中新的依赖项处理方法带来的好处中受益。

值得注意的是,exploded-aar功能仍可通过实验性标志启用,但强烈建议从长期来看逐步淘汰它的使用。

除了弃用exploded-aar之外,AGP 2.3.0还引入了一些其他值得注意的特性:

  • 增量编译的改进: AGP 2.3.0优化了增量编译过程,减少了编译时间,特别是对于大型项目。
  • ProGuard规则优化: ProGuard规则已被重新设计以提高性能和缩减构建工件的大小。
  • 新的Android Studio插件: 新的Android Studio插件增强了IDE体验,提供了更好的代码导航和重构功能。

总之,AGP 2.3.0是一个重大版本,带来了显著的构建性能改进和新功能。通过弃用exploded-aar,您现在可以享受更快的构建时间、更小的构建工件和简化的依赖项管理。随着Android开发生态系统的不断发展,请务必随时了解Gradle和AGP的最新进展,以充分利用它们所提供的优势。