返回

发布 Android Module 变体 AAR 到 Maven 库的指南

Android

Android 发布不同 Module 变体 AAR 到 Maven 库

随着 Android 项目变得越来越复杂,模块化开发已成为一种常见做法。模块化允许开发人员将应用程序分解为更小的、可独立维护的单元,从而提高代码可重用性和可维护性。

在模块化开发中,不同的模块变体有时需要发布到 Maven 库以供其他项目使用。然而,在默认情况下,Android Gradle 插件不允许发布模块变体。

解决方案:发布变体 AAR 到 Maven 库

要发布不同的模块变体 AAR 到 Maven 库,需要进行以下步骤:

  1. 配置父项目 build.gradle

    在父项目的 build.gradle 文件中,添加以下代码块:

    allprojects {
        group = 'com.example'
        version = '1.0.0'
    }
    
  2. 配置子模块 build.gradle

    在每个子模块的 build.gradle 文件中,添加以下代码块:

    apply plugin: 'maven-publish'
    
    publishing {
        publications {
            release(MavenPublication) {
                from components.release
            }
        }
    
        repositories {
            maven {
                url "https://maven.google.com/"
            }
        }
    }
    
  3. 指定要发布的变体

    使用 artifactVariants 闭包指定要发布的模块变体:

    publishing {
        publications {
            release(MavenPublication) {
                from components.release
                artifactVariants.all { variant ->
                    // 仅发布变体 "freeDebug" 和 "freeRelease"
                    if (variant.name == 'freeDebug' || variant.name == 'freeRelease') {
                        artifact(variant.outputFile)
                    }
                }
            }
        }
    }
    
  4. 运行上传任务

    执行以下任务上传 AAR 文件到 Maven 库:

    ./gradlew publish