Linux 使用 Nexus3.x 为 Android 搭建私服

转载请注明出处:http://blog.csdn.net/smartbetter/article/details/55116889

现在Android Studio使用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 [email protected]:/usr/local

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

$ ssh [email protected]                         //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()
    }
}

2)配置准备上传的Android Library的build.gradle文件:

apply plugin: ‘com.android.library‘
apply plugin: ‘maven‘

android {
    ...
}

uploadArchives {
    repositories.mavenDeployer {
        repository(url:"http://192.168.2.20:8081/repository/android/") {
            authentication(userName:"user", password:"user")
        }
        // 以com.android.support:appcompat-v7:25.1.0为对比
        pom.version="0.0.1" // 对应版本号 25.1.0
        pom.artifactId="utilslibrary" // 对应 appcompat-v7
        pom.groupId="net.smartbetter" // com.android.support
    }
}

dependencies {
    ...
}

路径地址如下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了。

喜欢本文记得“顶”一下哦!

时间: 2024-10-04 07:40:43

Linux 使用 Nexus3.x 为 Android 搭建私服的相关文章

Linux 安装配置maven3.0 以及搭建nexus私服

一.软件准备 1.apache-maven-3.0-bin.tar.gz 下载地址:http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.0-bin.tar.gz 2.nexus-oss-webapp-1.8.0-bundle.tar.gz 下载地址:http://nexus.sonatype.org/downloads/ 二.maven安装配置 1.创建需要操作maven的用户组以及用户(如果用root用户安装不用

linux 下第一个cordova android app

上篇博客写了linux下 cordova + ionic 环境的搭建 , 今天就来做下第一个app的简单讲解吧 首先昨天已经可以通过命令行的方式创建app了.经过今天好一段时间的研究发现使用 ionic命令创建 的app 与使用cordova命令创建的app 包是有差别的. ionic 创建的文件夹下多出了几个文件和文件夹.因为相关的资料比较少.我还没有搞清楚他的目录结构和我们 需要操作的文件夹喝目录. 重点看下cordova 的目录: 这个目录比较清晰(piugins是插件目录通过cordov

linux 下cocos2dx-3.3.1环境搭建

1.安装依赖 依赖包含: libx11-dev libxmu-dev libglu1-mesa-dev libgl2ps-dev libxi-dev g++ libzip-dev libpng12-dev libcurl4-gnutls-dev libfontconfig1-dev libsqlite3-dev libglew*-dev libssl-dev 假设你的系统是Ubuntu/Debian,能够通过运行build文件夹下的install-deps-linux.sh脚本来安装依赖,也可自

linux下NFS网络文件系统的搭建

1.首先准备两台主机,一台做服务器,一台做客户机,保证两台能够相互通信 服务器IP地址:192.168.4.5 客户机IP地址:192.168.4.205 2.给服务器配置NFS服务 [[email protected] /]# rpm -q nfs-utils rpcbind nfs-utils-1.2.3-39.el6.x86_64 rpcbind-0.2.0-11.el6.x86_64 确定这两个软件包已经安装,如果没有安装需要安装 3.修改nfs的配置文件 新建共享目录 [[email 

【10.2.3】ArcGIS Runtime for Android搭建开发环境过程中问题详解

一.Visual Studio Ultimate2012安装过程问题 1.问题描述 安装完成后,您将看到一条消息,指示安装程序已完成,但并不是所有的功能具有已正确安装,以及以下警告消息: Microsoft Web Deploy 3.0 所需的证书不在有效期内根据当前系统时钟或签名文件中的时间戳验证时. 2.解决方案 修改电脑系统时间为2013年7月,断网后重新安装,成功后再联网. Visual Studio Ultimate2012激活密钥:RBCXF-CVBGR-382MK-DFHJ4-C6

PhoneGap学习笔记-----phone3.4之Android搭建--导出jar包(处处可用)--并导出插件或加入第三方插件

http://blog.csdn.net/klx502/article/details/40617497 该链接已经说明如何从命令行创建一个phonegap项目了 这次的主题是基于上一遍[PhoneGap学习笔记-----phone3.4之Android搭建]延伸出来的 1.创建项目: 2.为创建的目录添加平台支持: 3.build 这个项目,之后就可以在Eclipse里导入android项目了: 4.到Eclipse里,import导入项目: 5.找到第一步创建时想要的目录路径,可以看回第一张

Linux下的ssh实验环境搭建与管理

Linux下的ssh实验环境搭建与管理 实验环境 服务端:xuegod-63   IP:192.168.1.63 客户端:xuegod-64   IP:192.168.1.64 客户端普通用户:ceshi  密码:123456 安装好扫描软件rpm -ivh /mnt/Packages/nmap-5.21-4.el6.x86_64.rpm 实验目标 1:SSHD服务介绍 2:SSHD服务安装配置 3:两Linux服务器之间数据拷贝 4:SSHD服务作用: 实验步骤 1:搭建环境 1):网桥模式

Linux开发基于Qt的Android应用指定调试设备

Linux开发基于Qt的Android应用指定调试设备 最近安装了中外结合的Ubuntu Kylin试试.然后换上了搜狗输入法,这个编码的感觉比微软那个爽多了.开Qt Creator.通过Chromium来访问网页也是飞快的,使用GCC编译的速度也是非常满意的.而在指定安卓设备的时候遇到了一点儿小麻烦:我在将安卓平板电脑连接到电脑的时候,发现adb无法读取,从而Qt Creator的界面看不到我们的真机设备.怎么办呢?记得以前也解决过,但是忘记通过博客记录方法了,这次一定要记下来,以后可不能忘记

linux下nginx+php+mysql环境搭建

linux下nginx+php+mysql环境搭建 ++++++++++++++++++++++++++++++++++++++++++++++ 操作系统 : [CentOS6.0] 服务器 : [nginx-1.1.8] PHP : [php-5.2.6] 数据库 : [mysql-5.1.59] ++++++++++++++++++++++++++++++++++++++++++++++ 准备安装软件(download)  1>[nginx-1.1.8]       http://nginx