Maven
是一个项目管理和自动构建工具。Maven 包集中存放的地方,就是 Maven 仓库。这些仓库,可以是放在本地,也可以放在某个远程服务器上。 可以是私有仓库,也可以是公开的。
在Android上的使用方式如下:
allprojects {
repositories {
mavenCentral();
jcenter()
maven {
url 'file:///Users/my-user-name/Documents/Android/repo/'
}
maven {
url 'http://localhost:8081/nexus/content/repositories/releases/'
}
}
}
Gradle
是一个基于JVM
的构建工具,是一款通用灵活的构建工具,支持maven
,Ivy
仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovy
,build
脚本使用Groovy
编写。
Android支持的Maven仓库:
仓库类型:
Public Repositories: 仓库组
AAR
文件是Google为Android开发所设计的一种library格式,全名为Android Archive Library,
与Java Jar Library不同的地方是AAR除了java code之外也包含res,也就是一些图片、文字等 资源文件。会设计形式的类别库是因为Google在Android SDK tool r14之后开始支持Library Project的开发方式,这种Library Project可以说是Android APP的半成品,其目标并不是制作成APK来执行,而是提供现成的View/Activiy等一些资源给其他开发者使用。而 AAR正是这种Library Project编译后的压缩包,压缩后只需传递单一文件即可分享,可以说是相当方便。
在本地搭建Maven库服务,用来上传常用代码库,便捷Android 项目开发使用
tar xvzf nexus-3.38.1-01-mac.tgz
./nexus run
./nexus start(首次无法启动)
打开 http://127.0.0.1:8081/
登录(首次登录需要登录admin用户,密码在 /sonatype-work/nexus3/admin.password 中)
登录成功后会提示修改密码
allprojects {
repositories {
mavenLocal()
}
}
uploadArchives {
repositories.mavenDeployer{
repository(url:"http://127.0.0.1:8081/repository/com.kangxiao.libs/"){
authentication(userName:"kangxiao",password:"kang123456")
}
pom.version="0.0.1"
pom.artifactId="kxlib"
pom.groupId="com.kangxiao"
}
}
引入maven插件
plugins {
id 'com.android.library'
id 'kotlin-android'
id 'maven'
}
注意事项:如果没有打开匿名访问的话,需要配置帐号密码
如果允许匿名访问的话,不需要配置帐号密码
在app下build.gradle
引用依赖
好了,到这就可以用了。