现在AndroidStudio使用Gradle作为依赖管理工具,

可以说是Android目前最好的依赖管理工具,我们经常通过在build.gradle通过简单的依赖配置就可以使用某个开源项目了,例如okhttp、retrofit,但是如果公司把自己的核心库往jcenter上传又是不太可能的,基于这个问题,今天给大家带来了本篇文章,在强大的Linux平台,使用 Nexus3.x 为 Android 搭建私服,为公司构建自己的本地内部仓库。

1.仓库管理工具Nexus3.x介绍

Nexus是“开箱即用”的系统,不需要数据库,它使用文件系统加Lucene来组织数据,支持WebDAV与LDAP安全身份认证。Nexus还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。

Nexus极大地简化了本地内部仓库的维护和外部仓库的访问。另外,Nexus还可以在代理远程仓库的同时维护本地仓库,以降低中央仓库的负荷,节省外网带宽和时间。

本篇Nexus选择3.x版本,Nexus3.x相较2.x版本有很大的改变:

1)从底层重构,从而提高性能,增强扩展能力,并改善用户体验

2)升级界面,增加更多的浏览,搜索和管理功能

3)提供安装包,使部署更简单(安装完自动添加成服务,省去手动添加的麻烦)

4)增加 Docker,NuGet,npm,Bower的支持

5)提供新的管理接口,从而能自动管理任务。

注意:3.x版本只能运行在JVM8及以上

总之,本地内部仓库在本地构建nexus私服的好处有:

1)加速构建、稳定;

2)节省带宽、节省中央maven仓库的带宽;

3)控制和审计;

4)能够部署第三方构件;

5)可以建立本地内部仓库、可以建立公共仓库

这些优点使得Nexus日趋成为最流行的Maven仓库管理器。

2.Linux平台远程shell安装Nexus

这里Linux选用CentOS7.2。

1)安装jdk 参考文章http://blog.csdn.net/smartbetter/article/details/53535435#t3

2)下载Nexus开源版本https://www.sonatype.com/download-oss-sonatype

3)上传服务器Nexus安装包,服务器ip假定为192.168.2.20

$ scp ~/Downloads/nexus-3.2.0-01-unix.tar.gz root@192.168.2.20:/usr/local

4)安装Nexus(源码安装方式)

$ ssh root@192.168.2.20                        //SSH连接

# cd /usr/local

# mkdir nexus

# tar -zxvf nexus-3.2.0-01-unix.tar.gz -C nexus //解压缩

解压之后会有两个文件夹,nexus-3.2.0-01和sonatype-work

# cd nexus

# mv nexus-3.2.0-01/ nexus

自定义配置虚拟机可打开nexus.vmoptions文件进行配置(如果Linux硬件配置比较低的话,建议修改为合适的大小,否则会出现运行崩溃的现象):

# cd nexus/bin/nexus.vmoptions                  //虚拟机选项配置文件

4)启动Nexus(默认端口是8081)

Nexus常用的一些命令包括:/usr/local/nexus/nexus/bin/nexus {start|stop|run|run-redirect|status|restart|force-reload},下面我们启动Nexus:

# /usr/local/nexus/nexus/bin/nexus start      //启动后稍等会儿才能正常访问

WARNING: ************************************************************

WARNING: Detected execution as "root" user.  This is NOT recommended!

WARNING: ************************************************************

Starting nexus

上面在启动过程中出现警告:“不推荐使用root用户启动”。这个警告不影响Nexus的正常访问和使用。去掉上面WARNING的办法请自行百度。

下面用其他计算机访问Linux服务器:192.168.2.20:8081

出现上述页面,说明配置nexus成功!

3.创建自己的Android代码仓库

点击Nexus“Log in”,

输入默认用户名(admin)和默认密码(admin123)登录。

可以点击上面的“设置”图标,在“设置”里可以添加用户、角色,对接LDAP等的设置,如下:

这里我们创建用户user:

创建完成后退出admin,登录user。

我们点击Repository下Repositories创建android用户的仓库:

然后这里填写相关信息,创建仓库android:

我们来看一下创建的仓库:

到此我们自己的仓库创建成功。

4.上传和引用已编译的module

这里我们使用Android Studio新建一个Android Project,然后新建一个Android Library(module),命名为utilslibrary,并在其中新建一个Utils类,供我们后续测试使用。

这个module也就是我们准备上传的module。

1.上传module:

1)配置Project的build.gradle:

allprojects {    

            repositories {

                    jcenter()

                    mavenLocal()

           }

}

路径地址如下copy:

3)双击uploadArchives(如下图中按钮)上传module:

等待module的上传:

当全部显示ok时上传成功,此时我们在电脑上打开私服(http://192.168.2.20:8081/),登录用户user,再看一下之前创建的仓库:

ok,到此module上传成功。

2.引用已经上传的module:

我们再在Android Studio中新建一个全新的Android Project,然后配置Project的build.gradle文件:

buildscript {...}

allprojects {    

           repositories {        

                jcenter()        

                maven { url"http://192.168.2.20:8081/repository/android/"}    

          }

}

路径地址如下copy:

此时我们就可以通过依赖的方式引用已经上传的module了:

我们直接在build.gradle(Module:app)添加依赖:

compile'net.smartbetter:utilslibrary:0.0.1'

我们看一下External Libraries:

发现已经存在utilslibrary-0.0.1了,这时我们就就可以在我们的工程项目中调用utilslibrary-0.0.1的方法了。

以上就是如何从Android Studio中上传我们的module,并如何通过依赖使用上传的module了。

文章来源:http://blog.csdn.net/smartbetter/article/details/55116889

更多相关文章

  1. Android指定专用APN
  2. Android(安卓)学习日志 2 :创建虚拟机,运行第一个Hello Android程
  3. Android中应用界面主题Theme使用方法和页面定时跳转应用
  4. Android(安卓)JNI打印c\c++日志信息
  5. 关于android中使用new Message的内存泄露问题
  6. android动态创建控件
  7. 箭头函数的基础使用
  8. NPM 和webpack 的基础使用
  9. Python list sort方法的具体使用

随机推荐

  1. Android(4.4)音频系统之mediaserver服务
  2. Android(安卓)的ScaleAnimation 缩放动画
  3. Android 简单EventBus登录界面与传值(粘性
  4. Android软键盘遮挡布局的那些事
  5. 理解MeasureSpec
  6. Android群英传笔记
  7. android中执行线程的部分代码
  8. 一句话源码
  9. android 实现视频缓存
  10. Android仿微信activity滑动关闭效果