返回

为你的开源项目上传多个库模块到 JitPack

Android

在 Android 项目中发布多个库模块到 JitPack:一个全面的指南

简介

在 Android 开发中,代码复用至关重要。为了方便地共享和使用代码,我们可以将功能性模块打包成库模块并发布到远程仓库,例如 JitPack。本文将指导你如何将包含多个库模块和 Gradle 插件模块的 Android 项目发布到 JitPack。

步骤 1:准备库模块

确保每个库模块具有以下内容:

  • build.gradle 文件:指定库模块的构建信息,包括依赖项、编译 SDK 版本等。
  • AndroidManifest.xml 文件:声明必要的权限和组件。
  • 单元测试和集成测试(可选)。

步骤 2:配置 JitPack

在项目根目录下创建 jitpack.yml 文件,并添加以下内容:

jitpack:
    buildType: 'release'

这将配置 JitPack,在发布过程中使用发布构建类型。

步骤 3:创建上传脚本

对于每个库模块,在模块目录下创建 upload.sh 脚本:

#!/bin/bash

# 构建库模块
./gradlew clean assembleRelease

# 上传 AAR 文件到 JitPack
./gradlew jitpack

确保脚本具有可执行权限:

chmod +x upload.sh

步骤 4:上传库模块

对于每个库模块,运行以下命令:

./upload.sh

这将构建库模块并上传 AAR 文件到 JitPack。

步骤 5:处理 Gradle 插件模块

如果你的项目包含 Gradle 插件模块:

  • 为插件模块创建 build.gradle 文件:指定插件模块的构建信息和依赖项。
  • 创建上传脚本,与库模块类似,但使用以下命令上传插件:
./gradlew jitpack --gradle-plugin-publish

步骤 6:验证上传

上传完成后,你可以在 JitPack 网站上查看你的库模块和插件。它们将出现在你的用户页面下。

代码示例

// build.gradle(库模块)

apply plugin: 'com.android.library'

android {
    compileSdkVersion 33
    buildToolsVersion "33.0.0"

    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 33
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation 'androidx.appcompat:appcompat:1.5.1'
}
// build.gradle(插件模块)

apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'

group = 'com.example'
version = '1.0.0'

android {
    compileSdkVersion 33
    buildToolsVersion "33.0.0"

    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 33
    }
}

dependencies {
    implementation 'androidx.appcompat:appcompat:1.5.1'
}

publishing {
    publications {
        maven(MavenPublication) {
            groupId = group
            artifactId = 'android-plugin'
            version = version
            artifact file: "$buildDir/outputs/aar/$artifactId-$version.aar"
        }
    }
}
// upload.sh

#!/bin/bash

./gradlew clean assembleRelease
./gradlew jitpack

常见问题解答

1. 如何为库模块添加依赖项?
在库模块的 build.gradle 文件中添加 dependencies 块。

2. 如何在发布过程中使用特定的构建类型?
jitpack.yml 文件中指定 buildType,例如 buildType: 'debug'

3. 如何上传 Gradle 插件?
使用上传脚本,并添加 --gradle-plugin-publish 标志。

4. 在哪里可以找到上传的库模块?
在 JitPack 网站上,登录你的账户并导航到用户页面。

5. 如何更新已发布的库模块?
按照相同的步骤,重新构建并上传库模块。JitPack 将自动更新现有版本。