Android打包aar上传GitHub生成远程依赖库

发布于:2024-05-21 ⋅ 阅读:(211) ⋅ 点赞:(0)

目录

一、编写Maven发布脚本任务

二、上传编译文件到GitHub,生成远程厂库连接

1、在GitHub上创建一个仓库,创建完成后,复制https仓库git地址,通过命令将空的仓库clone到本地

2、上传编译产物到GitHub

三、使用


一、编写Maven发布脚本任务

在你的library模块下的build.gradle文件中添加以下脚本任务:

//打包发布配置开始
apply plugin: 'maven'
ext {
    //带有aar和pom等打包文件的输出目录,project.projectDir.parent:表示输出到当前项目的根目录
    GITHUB_REPO_PATH = project.projectDir.parent
    //组Id,即远程依赖库的包名
    PUBLISH_GROUP_ID = 'com.test.sdk'
    //远程依赖库的库名
    PUBLISH_ARTIFACT_ID = 'test-android'
    //版本号
    PUBLISH_VERSION = '1.0.0'
    //以上信息最终组合起来,也就是项目里依赖的地址为:com.test.sdk:test-android:1.0.0
}
//以下固定不用改
uploadArchives{
    repositories.mavenDeployer {
        def deployPath = file(project.GITHUB_REPO_PATH)
        repository(url: "file://${deployPath.absolutePath}")
        pom.project {
            groupId project.PUBLISH_GROUP_ID
            artifactId project.PUBLISH_ARTIFACT_ID
            version project.PUBLISH_VERSION
        }
    }
}

//打包jar和aar
task androidSourcesJar(type: Jar) {
    classifier = 'sources'
    from android.sourceSets.main.java.sourceFiles
}
artifacts {
    archives androidSourcesJar
}

使用Terminal命令,定位到library目录下,键入命令:../gradlew uploadArchives  等待执行完成后,会在根目录下输出com.test.sdk目录,sdk目录中为test-android文件夹,其中是以版本号命名的aar包、pom.xml文件、.md5、.sha1等文件信息。

二、上传编译文件到GitHub,生成远程仓库连接

1、在GitHub上创建一个仓库,创建完成后,复制https仓库git地址,通过命令将空的仓库clone到本地

//举例:
git clone https://github.com/sdk/test.git

2、上传编译产物到GitHub

将步骤一中的以com开头的文件全部复制到本地空仓库中,然后将com文件全部上传到GitHub,注意要提交到GitHub仓库的根目录下,这个com.test.sdk路径也不要改动,,否则生成的pom文件中有相互依赖的包的话,会找不到对应的依赖库文件。

//初始化仓库
git init 
//把com等文件添加到仓库
git add com 
//把文件提交到仓库
git commit -m "first commit" 
//关联远程仓库,master为分支名称
git remote add origin master 
//把本地库的所有内容推送到远程库上
git push -u origin master 

上传完成,即可通过厂库地址在其他项目中在线依赖拉取资源文件。

厂库地址:

maven { url "https://raw.githubusercontent.com/test/sdk/master" }

注意:

  1. "https://raw.githubusercontent." 为固定地址
  2. "com/test/sdk/" 为你在打包时配置的groupId,也是你上传GitHub上的目录路径
  3. "master" 为你GitHub仓库的分支名称,注意这里每个人创建时不一样,有的默认为master,有的为main

远程依赖库地址:

api 'com.test.sdk:test-android:1.0.0'

完成上面的步骤后,GitHub远程依赖库就创建完成了,后续即可通过指定Maven仓库地址和远程依赖库地址进行依赖使用了。 

三、使用

在项目级的build.gradle中添加Maven仓库地址:

allprojects {
    repositories {
        google()
        jcenter()

        maven { url "https://raw.githubusercontent.com/test/sdk/master" }
    }
}

在module模块下的build.gradle中添加远程依赖: 

dependencies {
    api fileTree(include: ['*.jar','*.aar'], dir: 'libs')

    api 'com.test.sdk:test-android:1.0.0'
}

完!!!