Android Artifactory倉庫使用

Android Artifactory----依賴管理說明

作者:

代碼管理

代碼版本控制統(tǒng)一基于GitHub管理,使用方式基于Android Studio的gradle方式依賴,所有Library配置內(nèi)部倉庫地址,上傳到內(nèi)部JCenter倉庫來管理依賴,編寫Readme文檔,列出功能描述、使用方式以及其他需要注意事項(xiàng),比如混淆配置。

Android JCenter本地倉庫

搭建倉庫的目的

  • 搭建本地倉庫方便依賴管理,避免多人多次同步網(wǎng)絡(luò)倉庫
  • 組件化拆分,網(wǎng)絡(luò)上一些開源庫大多功能臃腫,很多時(shí)候不需要那么多的功能,所以需要拆分以減小APK大小,以及代碼編譯速度

倉庫上傳步驟

Demo地址

  • 檢測(cè)你的jdk版本是否為1.8及以上
java -version
  • 創(chuàng)建library project,在Project下的build.gradle文件添加
buildscript {
    dependencies {
        classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.1.1"
    }
}
  • module引用插件
apply plugin: 'com.jfrog.artifactory'
apply plugin: 'maven-publish'

配置maven和artifactory

  • 配置項(xiàng)目參數(shù)
    以Utils項(xiàng)目,包名為com.adinnet.utils為例
groupId:com.adinnet.utils  //   一般為包名
artifactId:utils    // 一般為library module名字
version:1.0.0    //  當(dāng)前l(fā)ibrary版本號(hào)

示例:

def packageName = 'com.adinnet.utils'
def libraryVersion = '1.0.0'
publishing {
        publications {
         aar(MavenPublication) {
            groupId packageName
            version = libraryVersion
            artifactId project.getName()
            // Tell maven to prepare the generated "*.aar" file for publishing
            artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")
        }
    }
}
  • 配置Artifactory倉庫參數(shù)
    在library module的gradle文件添加
artifactory {
    contextUrl = 'http://localhost:8081/artifactory'  // 表示要發(fā)布到哪里去,上下文連接
    publish {
        repository {
            repoKey = 'libs-release-local'  // artifactory分支,可在artifactory查看
            username = "admin"  // artifactory 默認(rèn)管理員
            password = "password"  // artifactory 默認(rèn)管理員密碼
        }
        defaults {
            publications('aar')  // 表示要發(fā)布的文件類型
            publishArtifacts = true
            properties = ['qa.level': 'basic', 'dev.team': 'core']
            publishPom = true  // 是否將自動(dòng)生成的pom.xml文件發(fā)布到Artifactory
        }
    }
}
  • 打包并發(fā)布到Artifactory
    在library主項(xiàng)目下,執(zhí)行g(shù)radle命令
gradlew assembleRelease artifactoryPublish

assembleRelease在前表示先打包,artifactoryPublish在后表示打包完以后發(fā)布到artifactory當(dāng)中,完成后打開Artifactory檢查libs-release-local目錄

  • 引用本地倉庫的library
    在Project的build.gradle文件添加地址
allprojects {
    repositories {
        jcenter()
        maven { url "http://localhost:8081/artifactory/libs-release-local"}  // localhost IP
    }
}

在其他module中引用

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

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,319評(píng)論 25 708
  • 一一一海洋 1、凡是過往,皆為序章 最近,羅胖在2017跨年...
    帝王道閱讀 990評(píng)論 2 2
  • 年紀(jì)大了,似乎越發(fā)傷不起了。 昨天傍晚剛到培訓(xùn)基地,老公的電話就打過來了,接連兩個(gè)電話,問我這問我...
    可心小窩閱讀 227評(píng)論 0 0
  • 相聲演員講究“說學(xué)逗唱”,缺一樣不可?,F(xiàn)實(shí)中也有不少相聲演員功底不錯(cuò),但總是不能讓觀眾覺得樂呵,主要還是不接地氣,...
    solon閱讀 489評(píng)論 2 1
  • 家長(zhǎng)如何尊重兒女作為個(gè)體的存在? 我們常常說要尊重兒女的自由、權(quán)利,尊重兒女作為個(gè)體的存在,而且常常引用西方...
    老李的理性批判閱讀 797評(píng)論 0 1

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