發(fā)布Android studio項目到本地Maven倉庫

說明

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,534評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,901評論 25 709
  • 一直不好意思承認(rèn)—— 八年前,Sir的一顆少男心,給了一個男人。 中老年,發(fā)福、近視,還總穿著白色三角褲到處晃。 ...
    Sir電影閱讀 3,468評論 3 29
  • 我悲哀地發(fā)現(xiàn),自由舒適的日子過久了,與繁忙焦躁的日子過久了,結(jié)果一樣都是厭倦。
    石家莊小魚兒閱讀 264評論 0 0

友情鏈接更多精彩內(nèi)容