nexus maven私服发布Android library
来源:互联网 发布:win10无法开启网络发现 编辑:程序博客网 时间:2024/06/13 12:47
感谢我的同事提供的这篇总结原文:http://www.jianshu.com/p/603fbce7056c
搭建私服:http://www.oschina.net/question/698806_159372
为了方便的管理、发布、更新我们安卓端的公共库,我考虑通过Android studio 发布公共库到公司已有的mavne私服来管理。
参考maven文档及网上一些参考文档,简单的整理如下
创建公共库
- 新建一个项目,然后添加一个需要做为公共库的Module。
- 在这个module的build.gradle中添加代码:
apply plugin: 'maven'
def getRepositoryUsername() { return hasProperty('NEXUS_USERNAME') ? NEXUS_USERNAME : ""} def getRepositoryPassword() { return hasProperty('NEXUS_PASSWORD') ? NEXUS_PASSWORD : ""} afterEvaluate {project -> uploadArchives { repositories { mavenDeployer { pom.groupId = GROUP pom.artifactId = POM_ARTIFACT_ID pom.version = VERSION_NAME repository(url:"http://ip/nexus/content/repositories/com.jjshome.mobile") { authentication(userName: getRepositoryUsername(), password: getRepositoryPassword()) } } } } task androidSourcesJar(type: Jar) { classifier = 'sources' from android.sourceSets.main.java.sourceFiles } artifacts { archives androidSourcesJar }}
这里的URL没有使用 releases的repositories(一般为http://ip/nexus/content/repositories/releases/ ), 而是自定义了一个MobileRepository,是因为上传releases的地址gradle报无法连接的错误,想来是私服有人设置了权限吧。如果哪位服务端大神配置的nexus maven,看到这篇文章告诉我真正的原因。
在这个module下添加配置文件gradle.properties,添加些属性
#对应maven的groupId值GROUP=com.jjshome.mobile#对应maven的version值VERSION_NAME=0.0.3#对应maven的artifactId值POM_ARTIFACT_ID=jjs-utils#登录nexus oss的用户名NEXUS_USERNAME=admin#登录nexus oss的密码NEXUS_PASSWORD=admin123
- 运行上传任务
项目中引入公共库
- 在项目的顶层build.gradle添加私服地址
allprojects { repositories { jcenter() maven { url "http://ip/nexus/content/groups/public/" } }}
在需要引用的modle中的build.gradle添加library
dependencies { compile 'com.jjshome.mobile:jjs-utils:0.0.3' }
配置中遇到的问题
- 在maven私服中需要把自己的repositories添加到Public Repositories 的Ordered Group Repositories中
在编译上传自定义的库时注意编译的sdk版本,和最低支持的sdk版本。如果引用的项目中compileSdkVersion的版本比自定义库中的低,minSdkVersion的版本比自定义的高,那么会编译失败。
最好是自定义的库支持的minSdkVersion要比较低,compileSdkVersion、targetSdkVersion也比较低。
0 0
- nexus maven私服发布Android library
- maven私服配置-发布工程版本到nexus
- Android Studio发布项目到Maven私有库(Nexus)
- maven项目发布到nexus
- Maven向Nexus发布代码
- maven nexus私服配置
- Maven+Nexus私服搭建
- maven搭建私服nexus
- Maven Nexus私服搭建
- maven nexus 搭建私服
- Maven nexus私服安装
- maven nexus私服搭建
- maven nexus私服搭建
- 【MAVEN】配置私服Nexus
- Maven+Nexus私服搭建
- maven私服之nexus
- Maven 搭建私服(nexus)
- Nexus私服以及Maven
- Objective-C Associated Objects 的实现原理
- 树莓派设置静态无线IP以及去掉启动时的dhcpcd
- 第11周阅读程序(2)
- 正则表达式
- python ajax爬虫 --36Kr为例
- nexus maven私服发布Android library
- 基于STM32F4的四轴航拍飞行器(开源)
- maven 仓库收到导入jar包
- nyoj 308 Substring
- nio
- SQL中NVL函数的用法
- JS判断字符是否为数字类型
- 使用Qt Designer创建界面
- 笨笨安卓学习的第一天