說明
android studio 中我們可以通過在gradle.build中添加配置來導(dǎo)入引用庫,如:
compile 'com.kcode.github.pubutils:androidLib:0.0.1'
通過這個可以看出'com.kcode.github.pubutils:androidLib:0.0.1'由三部分組成,分別是Maven中的
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.kcode.github.pubutils</groupId>
<artifactId>androidLib</artifactId>
<version>0.0.1</version>
<packaging>aar</packaging>
</project>
groupId:唯一標(biāo)識符
artifactId:類似于項目名稱
version:版本號
現(xiàn)在我們來創(chuàng)建一個自己的本地庫。
第一步
新建一個Android項目。在gradle.properties中添加一下信息
#包信息
GROUP_ID = com.kcode.github.pubutils
# Licence信息
PROJ_LICENCE_NAME=The Apache Software License, Version 2.0
PROJ_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt
PROJ_LICENCE_DEST=repo
GROUP_ID:就是剛才的groupId
下面的Licence信息是固定的
第二步
創(chuàng)建一個Libary,我命名為AndroidLib
在Libary的根目錄下新建gradle.properties文件,添加
#包信息
ARTIFACTID = androidLib
LIBRARY_VERSION = 0.0.2
#Mac下地址:file:///Users/<username>/my/local/repo
LOCAL_REPO_URL=file:///Users/caik/my/local/repo
ARTIFACTID:開始說的到artifactId
LIBRARY_VERSION:版本號
LOCAL_REPO_URL:本地倉庫的地址:file://+本地路徑
第三步
在Library也就是剛才創(chuàng)建的AndroidLib下的gradle.build中添加
apply plugin: 'maven'
uploadArchives{
repositories.mavenDeployer{
repository(url:LOCAL_REPO_URL)
pom.groupId = GROUP_ID
pom.artifactId = ARTIFACTID
pom.version = LIBRARY_VERSION
}
}
第四步
最后在項目路徑下執(zhí)行:
./gradlew -p <Library name> clean build uploadArchives --info
我這里就是:
./gradlew -p androidlib clean build uploadArchives --info
等執(zhí)行結(jié)束到剛才設(shè)置好的
LOCAL_REPO_URL=file:///Users/caik/my/local/repo
路徑下就可以看到已經(jīng)發(fā)布好的本次倉庫
第五步
引用,先在最外層的gradle.build中添加本地maven庫路徑
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
maven {
url 'file:///Users/caik/my/local/repo/'
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
就是:
maven {
url 'file:///Users/caik/my/local/repo/'
}
然后在需要引用這個庫的項目的gradle.build中添加:
compile 'com.kcode.github.pubutils:androidLib:0.0.1'
就可以了。
項目GitHub地址:https://github.com/fccaikai/LocalMavenDemo