Android studio中使用Maven发布本地仓库

前言:

最近在项目中使用到Maven本地仓库,之前用Maven只是用别人的库做依赖。而对与上传本地仓库或外部仓库还不是很了解,在学习了别人的技术文章后在这里做一些总结。

基本描述:

maven的仓库分两类:
1、本地仓库

maven在本地存储构件的地方。
maven本地仓库的默认位置:在用户的目录下.m2/repository/的仓库目录。

2、远程仓库

两个 Maven 中央库:mavenCentral 和 jcenter。
部署在内网服务器的私有仓库。

Maven在本地仓库中的对应存储路径:

1、groupId唯一标识符:com.android.dzrefresh 对应路径:com/android/dzrefresh
2、artifactId类似于项目名称:App 对应路径:com/android/dzrefresh/App
3、version版本号:1.0.0 对应路径:com/android/dzrefresh/App/1.0.0
对应得也就是:
compile ‘com.android.dzrefresh:App:1.0.0’

指定本地仓库路径:
自定义本地路径:
repositories {
    maven { url 'D://Users/user2/.m2/repository' }
}
默认本地路径:
repositories {
    mavenLocal()
}

</br>

发布本地库流程如下:

一、新建一个Android项目

在项目下创建一个Libary(如果直接在Android项目下发布到本地仓库会生成apk包,而lib下生成的是aar包可以作为依赖使用)。

二、配置参数

在Library也就是刚才创建的AndroidLib下的gradle.build中添加

apply plugin: 'maven'
uploadArchives{
    repositories.mavenDeployer{
        // 本地仓库路径
        repository(url:"file://D://Users/user2/.m2/repository/")
        // 唯一标识
        pom.groupId = "com.android.dzrefresh"
        // 项目名称
        pom.artifactId = "App"
        // 版本号
        pom.version = "1.0.0"
    }
}

也可以通过maven-publish方式发布

apply plugin: 'maven-publish'
publishing {
    publications {
        maven(MavenPublication) {
            artifact "D://DZRefresh/xxlib/build/outputs/aar/xxlib-debug.aar"
            groupId "com.android.dzrefresh"
            artifactId "APP"
            version "1.0.0"
        }
    }
}
三、发布到本地仓库

maven方式命令

gradlew  uploadArchives

maven-publish方式

gradlew  publishToMavenLocal
四、使用本地库:

1、在Android项目下的build.gradle文件中配置路径

   repositories {
        jcenter()
        mavenLocal()
    }

2、引用

compile 'com.android.dzrefresh:App:1.0.0'
    原文作者:x小明
    原文地址: https://www.jianshu.com/p/cff4684803f3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞