nexus maven私服发布Android library
2016-05-10 16:41
435 查看
感谢我的同事提供的这篇总结原文:http://www.jianshu.com/p/603fbce7056c搭建私服:http://www.oschina.net/question/698806_159372为了方便的管理、发布、更新我们安卓端的公共库,我考虑通过Androidstudio发布公共库到公司已有的mavne私服来管理。参考maven文档及网上一些参考文档,简单的整理如下http://ip/nexus/content/repositories/releases/),而是自定义了一个MobileRepository,是因为上传releases的地址gradle报无法连接的错误,想来是私服有人设置了权限吧。如果哪位服务端大神配置的nexusmaven,看到这篇文章告诉我真正的原因。在这个module下添加配置文件gradle.properties,添加些属性在编译上传自定义的库时注意编译的sdk版本,和最低支持的sdk版本。如果引用的项目中compileSdkVersion的版本比自定义库中的低,minSdkVersion的版本比自定义的高,那么会编译失败。最好是自定义的库支持的minSdkVersion要比较低,compileSdkVersion、targetSdkVersion也比较低。
创建公共库
新建一个项目,然后添加一个需要做为公共库的Module。在这个module的build.gradle中添加代码:applyplugin:'maven'
defgetRepositoryUsername(){returnhasProperty('NEXUS_USERNAME')?NEXUS_USERNAME:""}defgetRepositoryPassword(){returnhasProperty('NEXUS_PASSWORD')?NEXUS_PASSWORD:""}afterEvaluate{project->uploadArchives{repositories{mavenDeployer{pom.groupId=GROUPpom.artifactId=POM_ARTIFACT_IDpom.version=VERSION_NAMErepository(url:"http://ip/nexus/content/repositories/com.jjshome.mobile"){authentication(userName:getRepositoryUsername(),password:getRepositoryPassword())}}}}taskandroidSourcesJar(type:Jar){classifier='sources'fromandroid.sourceSets.main.java.sourceFiles}artifacts{archivesandroidSourcesJar}}这里的URL没有使用releases的repositories(一般为
#对应maven的groupId值GROUP=com.jjshome.mobile#对应maven的version值VERSION_NAME=0.0.3#对应maven的artifactId值POM_ARTIFACT_ID=jjs-utils#登录nexusoss的用户名NEXUS_USERNAME=admin#登录nexusoss的密码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添加到PublicRepositories的OrderedGroupRepositories中相关文章推荐
- android include标签使用
- Android 反调试反内存dump总结
- android JNI的.so库调用
- Android总结 - BroadcastReceiver
- android JNI的.so库调用
- android JNI的.so库调用
- Android LayoutAnimation使用
- Android 屏幕分辨率 计算单位
- Android4.4打开系统相册返回Null问题
- Android 手机自动化测试工具有哪几种?
- Android之使用Pull解析Xml数据
- Android Menu 之 optionsMenu 详解
- android service 本地 远程 总结
- Android Studio系列教程六--Gradle多渠道打包
- Android 与web的相互调用
- Android高效加载大图、多图解决方案,有效避免程序OOM
- 史上最详细的Android Studio系列教程二--基本设置与运行
- Android 软键盘自动弹出和关闭
- Android手机启动流程探究
- 史上最详细的Android Studio系列教程三--快捷键