前言:最近将公司的Eclipse项目迁移到AndroidStudio,由于公司项目比较多,而且都会引用到公共类库。AS的工程管理方式类似于微软的VS,不同工程的引用会主动放到一个目录上面进行管理,而eclipse的工程在物理位置上相互独立,不会主动放到同一个目录上面。这就造成了一个问题,例如广东省有十个项目,都引用广东插件包,广东地址库,如果是放到as中的不同project里面的话,就会产生10个插件包,地址库library module。如果放到同一个project里面,不同同事负责的项目不一样,这样就会把不想关的module都要一并down下来,不太符合实际。综上,把这些公共类库以aar的方式放到私服,统一管理,一处更改,同步更新最好。
使用nexus工具搭建maven私服;
as项目生成aar;
将aar上传到maven私服;
as项目使用maven私服上的aar;
-
安装Nexus
1.1 点击此处下载
Paste_Image.png
1.2 下载解压后,进入到以下路径。
Paste_Image.png
1.3 运行成功之后(运行失败请看1.4
),默认端口为8081(如需修改端口请看1.5
),在浏览器上输入http://localhost:8081/nexus/
即可,公司内网可输入当前机器的IP即可访问
1.4 ps:nexus需要运行在JDK1.7以上,请保证JAVA_HOME环境是1.7,或配置JAVA引用的是JDK1.7,配置如下:
Paste_Image.png
Paste_Image.png
1.5 默认端口为8081,如需修改如下图:
Paste_Image.png -
使用Nexus
2.1 登录http://localhost:8081/nexus/
,账号密码默认为:admin/admin123
2.2 登录后即可看到这几个
Paste_Image.png
2.3 配置公共组
Public Repositories是自带的公共组,对所有能该服务器的人可见。AS从该私服上获取引用(aar.jar等等
),会根据下图顺序进行访问资源,所以建议将引用的仓库放到最上面,左键按着拖动即可。
Paste_Image.png
2.4 配置仓库
Paste_Image.png -
将aar上传到maven私服
3.1 使用AS生成aar。
只有library module才会有aar,build一下project就会有了。
3.2 上传aar到nexus私服:
Paste_Image.png
3.3 检验是否上传成功:
Paste_Image.png -
as项目使用maven私服上的aar
4.1 在项目的build.gradle
里面声明私服的地址:
Paste_Image.png
4.2 在module中的build.gradle
里面添加项目依赖:
这里的组成与私服上的配置有关:
Paste_Image.png
参考资料:
网友评论