android studio 构建maven私有库环境搭建
1、maven运行需要jdk1.8版本的,首先安装jdk1.8
下载链接:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
jdk1.8 和 1.7 可以共存的,执行mvn 时需要jdk1.8,因此需要切换版本
/usr/libexec/java_home -v 1.8 //jdk版本切换
建议在~/.bash_profile添加如下代码
#jdk切换export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)#setjdk 1.8 切换到jdk8 1.7 setjdk() { export JAVA_HOME=$(/usr/libexec/java_home -v $1)}
source ~/.bash_profile
setjdk 1.8 //切换jdk版本,不影响其他软件使用jdk1.7
2、Nexus 是一个maven管理界面
下载链接 https://www.sonatype.com/download-oss-sonatype
解压:tar -zxvf nexus-3.1.0-04-mac.tgz
环境配置:
export PATH=/Users/apple/Documents/nexus-3.1.0-04/bin:$PATH
Usage: ./bin/nexus {start|stop|run|run-redirect|status|restart|force-reload}
source ~/.bash_profile
修改配置文件 安装目录下有 etc/nexus-default.properties文件,
# Jetty sectionapplication-port=9999 //端口修改 其余的不用动application-host=0.0.0.0 nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xmlnexus-context-path=/# Nexus sectionnexus-edition=nexus-pro-editionnexus-features=\ nexus-pro-feature
执行 nexus start
结果nexus is running
说明nexus 安装成功
浏览器访问地址 http://127.0.0.1:9999/nexus
默认用户:admin 密码:admin123
点击create repository
3、maven下载安装(以下内容都是在mac平台上的环境配置,其余平台自行google或度娘)
下载链接:http://maven.apache.org/download.cgi
安装:
解压安装包:tar -zxvf apache-maven-3.3.9-bin.tar.gz
解压到 ~/Documents目录下面(自选路径)
配置环境路径,vi ~/.bash_profile 或 /etc/profile 添加bin路径
export PATH=/Users/apple/Documents/apache-maven-3.3.9/bin:$PATH
如果添加在~/.bash_profile 里面 每次都要执行source ~/.bash_profile,建议放在/etc/profile
测试,环境变量是否成功:
source ~/.bash_profilesetjdk 1.8mvn -version
运行结果如下:
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)Maven home: /Users/apple/Documents/apache-maven-3.3.9Java version: 1.8.0_112, vendor: Oracle CorporationJava home: /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jreDefault locale: zh_CN, platform encoding: UTF-8OS name: "mac os x", version: "10.10.5", arch: "x86_64", family: "mac"
配置maven 在解压目录中有conf/settings.xml
私有库存在的位置 android studio 里面引用的是file:////Users/apple/projects/maven<localRepository>/Users/apple/projects/mavenlocalRepository> nexus 服务器<server> <id>my-nexus-releasesid> <username>adminusername> <password>admin123password> server> <server> <id>my-nexus-snapshotid> <username>adminusername> <password>admin123password> server> //镜像 maven 库的路径 <mirror> <id>nexusid> <url>http://127.0.0.1:9999/repository/cody/url> <mirrorOf>*mirrorOf> mirror> //nexus 配置<profile> <id>nexusProfileid> <repositories> <repository> <id>nexusid> <name>Nexus Repositoryname> <url>http://127.0.0.1:9999/repository/cody/url> <layout>defaultlayout> <releases> <enabled>trueenabled> releases> <snapshots> <enabled>trueenabled> snapshots> repository> repositories> profile> //激活<activeProfiles> <activeProfile>nexusProfileactiveProfile> activeProfiles>
上面都ok了,开始构建项目工程
android 创建一个空工程,然后建一个module, 随意选,推荐使用lib module
在该module的gradle.properties 添加如下信息
#用户信息USER_NAME= adminPASSWORD= admin123#包信息ARTIFACTID = datetimepicker LIBRARY_VERSION = 1.0.5GROUP_ID= cn.jesse.androidLIB_TYPE= aarLIB_DESCRIPTION= dependences lib#Mac下地址:file:///Users//my/local/repo #LOCAL_REPO_URL=file:///Users/apple/projects/maven #本地的地址LOCAL_REPO_URL= http://127.0.0.1:9999/repository/cody/ #服务器地址
在build.gradle文件最下面添加如下
apply plugin: 'maven'uploadArchives { repositories { mavenDeployer { repository(url: LOCAL_REPO_URL) { authentication(userName: USER_NAME, password: PASSWORD) } pom.project { version LIBRARY_VERSION artifactId ARTIFACTID groupId GROUP_ID packaging LIB_TYPE description LIB_DESCRIPTION } } }}
version 版本
artifactId 库名
groupId 组名
上面上个比较重要,在android studio 应用时需要这个三个值
应用形式compile groupId:artifactId:version
命令行执行 gradle uploadArchives
如果没安装gradle的请自行安装。
到此服务器上就能看到上传的库了
项目引用
在项目build.gradle 添加
allprojects { repositories { jcenter() mavenLocal() maven { //url 'file:///Users/apple/projects/maven/' //本地 url 'http://127.0.0.1:9999/repository/cody/' //服务器 } }}
在app build.gradle 添加
compile 'cn.jesse.android:datetimepicker:1.0.2'
到此私有库环境搭建成功
本地地址可以 /Users/apple/projects/maven/ 找到库,用服务器可以在
更多相关文章
- android 仿微信多图选择器(带预览、照相功能)
- Android(安卓)Launcher 如何去掉主菜单,所有应用摆在桌面,类似小米
- Android(安卓)photoview使用遇到Failed to resolve: com.github.
- Android中classpath和compile的区别
- 【Android(安卓)基础】Progressbar 实现Loading动画
- Android(安卓)8.1静态广播的使用以及添加权限
- Android通过xml文件配置数据库
- Linux 中搭建Android开发环境中碰到问题解决方案
- Android(安卓)-- 使用主题配置文件,去掉程序启动界面的短暂黑屏