- 首先,让我们创建我们想要发布为私有的库。
文件 -> 新建 -> 新建模块。
2.我想创建 Android 库。这里我选择Android Library。我们提供请求的信息并单击完成按钮。
3.在项目的跟目录创建一个新的 gradle 文件来负责发布我们的库。让它被称为gradle-mvn-push.gradle。在这里我们添加了maven-publish插件。因此,我们迈出了分享这个图书馆的第一步。
// 应用插件:'maven-publish'
apply plugin: 'maven-publish' publishing { publications { myPublish (MavenPublication) { groupId '在gitlib上创建应用的时候有的' artifactId '在gitlib上创建应用的时候有的' version '2.1.0,在gitlib上创建应用的时候有的,每一次提交的时候记得加1,因为有缓存' artifact "$buildDir/outputs/aar/inij-release.aar"//自己的aar包路径 pom.withXml { def dependencies = asNode().appendNode('dependencies') configurations.getByName("releaseCompileClasspath").getResolvedConfiguration().getFirstLevelModuleDependencies().each { def dependency = dependencies.appendNode('dependency') dependency.appendNode('groupId', it.moduleGroup) dependency.appendNode('artifactId', it.moduleName) dependency.appendNode('version', it.moduleVersion) } } } } repositories { maven { url 'gitlib上的maven地址' credentials(HttpHeaderCredentials) { name = "Private-Token"//就是这个值不用变Private-Token value = 'gitlib上的token' } authentication { header(HttpHeaderAuthentication) } } } }
4、在模块的build.gradle中添加
apply from: "$rootDir/gradle-mvn-push.gradle"
并且设置minifyEnabled 为false
buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } }
5、找到模块的publish双击运行,等待上传就可以了,点击publish前
每次打包的时候要删除.gradle 和 build缓存
如果上传过程中报错说找不到这个库的.aar,就先rebuild project整个项目,再进行publish
6、给第三方接入我们的模块的时候就给gitlib上的maven地址+版本号就可以了,如:
6.1)在app的setting.gradle文件里面添加
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { maven { url 'gitlib上的maven地址' name 'inun'//仓库名 credentials(HttpHeaderCredentials) { name = 'Private-Token'//就是这个值不用变Private-Token value = 'gitlib上的token' } authentication { header(HttpHeaderAuthentication) } } google() mavenCentral() } }
6.2)在app的build.gradle中添加 implementation 'com.iun.android:iun-sdk:2.5.53'