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'
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,758评论 25 708
  • 铁轨有多长 可以跨越 大地和云天的苍茫 可以连接 心事和身影的牵肠 铁轨有多忙 可以忽略 盛夏和严冬的暖凉 可以碾...
    涛涛不绝82阅读 125评论 0 1
  • 【one day】文|Lydia谷木青 正如情歌的动人在于那份得不到又绝不死心的执着,最美的爱情在于即使...
    Lydia谷木青阅读 1,094评论 3 13
  • 老三突然出现的时候,我当时正躺在阴暗潮湿的出租房里临时搭建的床铺上。我两眼放空,目光抵在低矮的天花板,脑子里思...
    老三家的老三阅读 578评论 3 14

友情链接更多精彩内容