Android Studio下构建Maven私服

Android Studio下构建Maven私服

对Maven的理解

Maven仓库的分类

本地Maven仓库和远程Maven仓库(中央仓库,第三方仓库,私服)

jcenter和MavenCenter

搭建Maven私服

一、下载并安装Maven环境

需要注意的是:后面需要修改Settings

setting文件3.0之前在C:\Users\xxx.m2下,其实AndroidStudio通过JCenter下载的jar即放在这个文件夹下。3.0之后在Maven目录的conf下

二、下载并安装Nexus

安装完后,需要进入系统对应的文件夹下(我的即在nexus-2.11.4-01\bin\jsw\windows-x86-64,不同系统在不同文件夹下),第一次需要依次执行安装,注册Windows服务,开启服务。

以后再使用前只需要开启服务(start-nexus.bat)就OK。

在浏览器中输入:127.0.0.1:8081/nexus,如果正确响应,说明安装成功。

在当前页面输入账户名密码(默认admin/admin123)

登录进去看到已经建立了十几个仓库。

点击工具栏add -> 选择hosted repository,然后填入repository id,和repository name-> 保存,这样就可以建立新的仓库了。

我们都知道引用repository时,需要groupid,artifactId,以及版本号。因此需要一个Group。

点击工具栏add -> 选择repository group,然后填入group id等。

系统默认给我们一个public group,同时我们还可以自建几个group用来管理repository。于是我们采取public group包含自建group的方式,这样团队其他人只需要引用public group,而无需关心Nexus内部是如何组织repository的。

一定要更改settings文件,特别是但不仅仅你更改了Maven的存储目录,建立Nexus需要在maven中添加镜像,具体见下:

<mirrors>
    <mirror>
        <!--This sends everything else to /public -->
        <id>nexus</id>
        <mirrorOf>*</mirrorOf>
        <url>http://localhost:8081/nexus/content/groups/public/</url>
    </mirror>
</mirrors>

以及

<profiles>
    <profile>
        <id>nexus</id>
        <!--Enable snapshots for the built in central repo to direct -->
        <!--all requests to nexus via the mirror -->
        <repositories>
            <repository>
                <id>central</id>
                <url> http://central</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>central</id>
                <url> http://central</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </pluginRepository>
        </pluginRepositories>
    </profile>
</profiles>

<!-- activeProfiles | List of profiles that are active for all builds. |
    <activeProfiles> <activeProfile>alwaysActiveProfile</activeProfile> <activeProfile>anotherAlwaysActiveProfile</activeProfile>
    </activeProfiles> -->

<activeProfiles>
    <!--make the profile active all the time -->
    <activeProfile>nexus</activeProfile>
</activeProfiles>

原settings文件,会在每一个可能修改的位置添加注释,说明这里可以改什么。非常人性化

三、打包工程并上传至Nexus

两种方式:

1、手动打包和上传

2、自动打包和上传(当然包含半自动的,也略)

由于我们是在Android Studio下,因此gradle代替maven势在必行。

网上各种复杂的gradle代码,实际上关键步骤只有:

1)引用maven插件

apply plugin: ‘maven‘

以及

2)

uploadArchives {

     repositories.mavenDeployer {
         repository(url: ‘http://localhost:8081/nexus/content/repositories/wom/‘) {//仓库地址
             authentication(userName: "admin",//用户名
                     password: "admin123")//密码
         }

         pom.project {

             name ‘chelaile-test-library‘
             packaging ‘arr‘
             description ‘who are you‘
             url ‘http://127.0.0.1:8081/nexus/content/repositories/wom/‘//仓库地址
             groupId "try"
             artifactId ‘chelaileTest‘
             version 1.7
         }
     }
}

甚至,

        pom.project {

             name ‘chelaile-test-library‘
             packaging ‘arr‘
             description ‘who are you‘
             url ‘http://127.0.0.1:8081/nexus/content/repositories/wom/‘//仓库地址
             groupId "try"
             artifactId ‘chelaileTest‘
             version 1.7
         }

都可以用 pom.groupId 等代替。

四、使用Library

也很简单

allprojects {
    repositories {
        jcenter()
        maven {
            url "http://localhost:8081/nexus/content/groups/public/"
        }
    }
}

注意

maven {

url “http://localhost:8081/nexus/content/groups/public/

}

然后在dependency里加入compile语句。注意这里的格式:

compile ‘try:jar-test:2.0’

groupId:artifactId:版本号 这是gradle构建repository的优势,简单的命令,而无需冗长的xml格式。

Caution

Num 1

写gradle的时候,会出现部分代码呈现灰色,报错无法获知来源,可以无视。

Num 2

由于AS的ADT默认支持jcenter,所以在structrue中,永远找不到你想要的jar。

因此直接手动输入compile…

Num 3

引入库的问题

分jar和aar格式,aar即是包含资源文件,Minifest文件等,于是我们需要注意去掉可能与被引入工程冲突的代码。

同时如果上传的工程含有对其他jar包的引用,在引用该工程时,会同时引入其他支持的jar包。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-16 18:24:56

Android Studio下构建Maven私服的相关文章

Android Studio下项目构建的Gradle配置及打包应用变体

Gradle简介 ??Gradle是一个自动化构建工具,采用Groovy的Domain Specific Language(领域特定语言)来描述和控制构建逻辑.具有语法简洁.可读性强.配置灵活等特点.基于Intellij IDEA社区版本开发的Android Studio天生支持Gradle构建程序.Groovy是一种基于JVM的敏捷开发语言,结合了Phthon.Ruby和Smalltalk的许多强大特性.同时,Groovy代码既能够与java代码很好地结合,也能够用于扩展现有的代码. Grad

拥抱 Android Studio 之四:Maven 仓库使用与私有仓库搭建

使用.创造和分享 笔者曾经不思量力的思考过『是什么推动了互联网技术的快速发展?』这种伟大的命题.结论是,除了摩尔定律之外,技术经验的快速积累和广泛分享,也是重要的原因. 有人戏称,『写 Java,首先要学会选包』,在这里不好评论对错.不过这句话里面,至少包含两层意思:首先 Java 有大量的现成的依赖包,不必要自己造轮子:其次,Java 的包存放较为集中,集成方式也方便. 笔者从事 Android 和 Java 开发以来,经历了几个阶段: 闭门造轮子 > 使用别人的轮子 > 开门造轮子 >

Android studio 下的robotium自动化测试和持续集成

一.前言 Android Studio是一个Android开发环境,基于IntelliJ IDEA.类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试.作为官方主推的开发环境和停止对其他开发IDE的支持,Android Studio将成为今后唯一的android开发环境.本文主要介绍在Android Studio环境下的Robotium测试框架使用方法和持续集成. 二.在Android Studio中使用Robotium 2.1基础环

转载_加速Android Studio/Gradle构建

转自:加速Android Studio/Gradle构建 随着项目的增大,依赖库的增多,构建速度越来越慢,现在最慢要6分钟才能build一个release的安装包,在网上查找资料,发现可以通过一些配置可以加快速度,这里跟大家分享一下. 开启gradle单独的守护进程 在下面的目录下面创建gradle.properties文件: /home/<username>/.gradle/ (Linux) /Users/<username>/.gradle/ (Mac) C:\Users\&l

[转]加速Android Studio/Gradle构建

加速Android Studio/Gradle构建 android android studio gradle 已经使用Android Studio进行开发超过一年,随着项目的增大,依赖库的增多,构建速度越来越慢,现在最慢要6分钟才能build一个release的安装包,在网上查找资料,发现可以通过一些配置可以加快速度,这里跟大家分享一下. 开启gradle单独的守护进程 在下面的目录下面创建gradle.properties文件: /home/<username>/.gradle/ (Lin

Android studio下gradle Robolectric单元测试配置

android studio下gradle Robolectric单元测试配置 1.Robolectric Robolectric是一个基于junit之上的单元测试框架.它并不依赖于Android提供的测试功能,它使用了shadow objects并且运行测试于普通的工作站/服务器JVM,不像模拟器或设备需要dexing(Android dex编译器将类文件编译成Android设备上的Dalvik VM使用的格式),打包,部署和运行的过程,大大减少了测试执行的时间. 参考:安卓单元测试相关概述h

Ubuntu server下搭建Maven私服Nexus

Ubuntu server下搭建Maven私服Nexus Maven私服Nexus的作用,主要是为了节省资源,在内部作为maven开发资源共享服务器来使用. 1.下载 通过root用户进去Ubuntu server $ cd /opt $ wget http://download.sonatype.com/nexus/oss/nexus-2.10.0-02-bundle.tar.gz 2.启动 $ cd /opt/ $ tar -zxvf nexus-2.10.0-02-bundle.tar.g

Android Studio 下项目的依赖配置

Android Studio 下项目的依赖配置 背景 项目需要用到一个github上的开源库swipelistview,原来在eclipse环境下配置过相关的依赖(导入jar包或者是lib依赖),但是在Android Studio下还是没有操作过.上网查了一下相关的资料,在stackoverflow上找到了答案.根据上面的介绍,结合实际情况,完成了依赖配置. stackoverflow答案地址 有两种方式来进行依赖配置. 1. 使用aar包(这个不太清楚原理和效果,简单查了一下和maven相关,

Android Studio下SVN的用法(1) - 初识SVN

Android Studio下SVN的用法(1) - 初识SVN 前言 这几天公司又来了新人,之前都是一个人开发的项目现在需要合作开发.所以不可避免的需要使用版本控制工具. 公司使用的是SVN,网上有一大堆教程,但是发现对于新手来说,特别是从来没有接触过的人来说,往往都 说的不是很详细,甚至可以说基本没有照顾到这些方面.不要问我为什么这么清楚,因为被坑的不行了--.. PS:本篇文章是介绍AS下SVN的使用,所以可能会跟网上的教程不同 使用 下载及安装 首先前往官网下载SVN客户端,官网上下载可