1:
首先需要在工程根目录下的build.gradle中添加如下配置:
buildscript {
repositories {
......
maven { url 'https://jitpack.io' }
}
dependencies {
......
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
}
}
allprojects {
repositories {
......
maven { url 'https://jitpack.io' }
}
}
然后在需要发布的module的目录下的build.gradle中添加配置:
plugins {
......
id 'com.github.dcendents.android-maven'
}
如果有多个module都需要发布,则需要每个module的build.gradle文件都需要添加上述配置;
搞定上述配置之后,同步工程;
2:
把工程上传到github(gitee、bitbucket、gitlab也支持)(不管哪个站点最好都是公有域名下的共有仓库,jitpack官方说明是支持私有仓库和私有域名,但是我没测试成功),然后发布一个release:
点击 Publish Release 按钮之后你讲会得到一个release:
然后登录到jitpack网站
并点击Sign In使用github账号登录。
然后在此处输入工程的github仓库链接:
,点击搜索,你将看到你刚才在github上发布的release版本号:
点击版本好后边的get it 按钮,耐心等待一下将会看到一个菊花进度条(此时一开始编译),编译完成之后是这样的:
点击 log 按钮,将会看到此次编译的log:
比较 1 和 3,2 和 4,如果一样说明此次发布是正确并且成功的,那么参照jitpack的提示,在其他工程中进行依赖测试即可:
PS:
关于多module
例如,我的工程 agoraui, edu, educontext, extapp四个module,edu依赖agoraui, agoraui依赖educontext, educontext依赖extapp, 我只想发布edu,则只在edu module添加配置
plugins {
......
id 'com.github.dcendents.android-maven'
}
然后,则测试工程中导入其余三个module进行源码依赖后,添加如下配置,进行远程依赖 edu module:
implementation ('com.github.AgoraIO-Community:CloudClass-Android:v1.1.0') {
exclude group: 'com.github.AgoraIO-Community', module: 'agoraui'
exclude group: 'com.github.AgoraIO-Community', module: 'educontext'
exclude group: 'com.github.AgoraIO-Community', module: 'extapp'
}
因为edu对其余三个module有直接或间接的依赖关系,所以pom文件中会存在对其余三个module的依赖,但是这是三个module又没有发布,所以需要排除掉。
如果四个module都需要发布,则需要为四个module都添加配置:
plugins {
......
id 'com.github.dcendents.android-maven'
}
然后在测试工程中直接进行远程依赖即可:
implementation ('com.github.AgoraIO-Community:CloudClass-Android:v1.1.0')
大家有什么问题可以评论,多谢。