美文网首页Gradle 安卓应用技术开发jenkins
Android studio中使用Maven发布本地仓库

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

作者: x小明 | 来源:发表于2017-04-26 17:55 被阅读3698次

    前言:

    最近在项目中使用到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'
    

    相关文章

      网友评论

      • _孑孓_:maven方式命令 和 maven-publish 发布方式有什么不同, 我试验了maven 发布,在本地仓库目录下也生成了aar,这个和 maven-publish 直接依赖aar有什么区别~~
        _孑孓_:@x小明 3k
        x小明:暂时发现maven-publish的方式没把dependencies里面依赖库写入到pom文件里面,不知道是不是配置的原因但我没有找到添加的方法
        x小明:@孑孓sm 一样的都是上传aar包,只是maven-publish可以自定义上传路径

      本文标题:Android studio中使用Maven发布本地仓库

      本文链接:https://www.haomeiwen.com/subject/yguizttx.html