Android-AAB文件发布到本地 Maven 仓库

349 阅读2分钟

背景:Android打包,如存在aab文件,将无法打包,需要将aab发布到本地Maven仓库。

操作步骤

如果你有多个 .aar 文件(例如 googlemobileads-unity.aar, udp.aar, udpsandbox.aar 和其他),并希望将这些 .aar 文件发布到本地 Maven 仓库并在项目中引用,以下是具体的实现细节:

步骤 1:准备本地 Maven 仓库

  1. D 盘创建 Maven 仓库目录

    • D:\LocalMaven 创建一个文件夹,用于存放你的本地 Maven 仓库。

步骤 2:配置项目中的 build.gradle 文件

  1. 在每个包含 .aar 文件的模块的 build.gradle 文件中配置 maven-publish 插件

    • 对于每个 .aar 文件,添加发布配置。

    例如,假设你在 unityLibrary 模块中管理这些 .aar 文件,unityLibrary/build.gradle 的配置如下:

    groovy
    复制代码
    apply plugin: 'maven-publish'
    
    publishing {
        publications {
            create('aarPublication', MavenPublication) {
                groupId = 'com.example.mylibrary'
                artifactId = 'googlemobileads-unity'
                version = '1.0.0'
                artifact(file('libs/googlemobileads-unity.aar'))
            }
    
            create('aarPublicationUdp', MavenPublication) {
                groupId = 'com.example.mylibrary'
                artifactId = 'udp'
                version = '1.0.0'
                artifact(file('libs/udp.aar'))
            }
    
            create('aarPublicationUdpsandbox', MavenPublication) {
                groupId = 'com.example.mylibrary'
                artifactId = 'udpsandbox'
                version = '1.0.0'
                artifact(file('libs/udpsandbox.aar'))
            }
        }
        repositories {
            maven {
                url = uri("file:///D:/LocalMaven")
            }
        }
    }
    

    解释:

    • create('aarPublication', MavenPublication):创建一个 MavenPublication 实例用于发布 .aar 文件。
    • groupId, artifactId, version:设置 Maven 仓库中的库标识符和版本。
    • artifact(file('libs/googlemobileads-unity.aar')):指定要发布的 .aar 文件。

步骤 3:执行发布任务

  1. 打开终端或命令行工具

    • 导航到 unityLibrary 模块所在的目录,执行发布任务。
    bash
    复制代码
    ./gradlew publish
    

    这将把 .aar 文件发布到 D:\LocalMaven 目录下的 Maven 仓库中。

步骤 4:在主项目中配置本地 Maven 仓库

  1. 在主项目的 build.gradle 文件中配置 Maven 仓库

    • 指定本地 Maven 仓库目录。
    groovy
    复制代码
    allprojects {
        repositories {
            google()
            mavenCentral()
            maven {
                url = uri("file:///D:/LocalMaven")
            }
        }
    }
    
  2. 在主项目中添加对 .aar 文件的依赖

    • 在主项目的 build.gradle 文件中添加对发布的 .aar 文件的依赖。
    groovy
    复制代码
    dependencies {
        implementation 'com.example.mylibrary:googlemobileads-unity:1.0.0'
        implementation 'com.example.mylibrary:udp:1.0.0'
        implementation 'com.example.mylibrary:udpsandbox:1.0.0'
    }
    

步骤 5:同步项目并验证

  1. 同步项目

    • 在 Android Studio 中,点击 "Sync Now" 按钮以同步 Gradle 配置。
  2. 构建和验证

    • 构建项目,并确保 .aar 文件被正确集成。你可以在 app/build/outputs/apk 目录下找到生成的 APK 文件。

总结

  1. 准备本地 Maven 仓库:在 D:\LocalMaven 目录中创建 Maven 仓库。
  2. 配置 build.gradle 文件:在每个 .aar 文件的模块中配置 maven-publish 插件并指定 .aar 文件。
  3. 执行发布任务:运行 ./gradlew publish 发布 .aar 文件。
  4. 配置主项目:在主项目中配置本地 Maven 仓库,并添加对 .aar 文件的依赖。
  5. 同步和验证:同步 Gradle 配置并构建项目,确保 .aar 文件被正确集成。

通过这些步骤,你可以成功地将多个 .aar 文件发布到本地 Maven 仓库,并在主项目中引用它们。