Android(java)學習筆記127:Android Studio建立工程中的build.gradle、settings.gradle

來源:互聯網
上載者:User

標籤:

隨著資訊化的快速發展,IT項目變得越來越複雜,通常都是由多個子系統共同協作完成。對於這種多系統、多項目的情況,很多構建工具都已經提供了不錯的支援,像maven、ant。Gradle除了借鑒了ant或者maven的繼承的方式定義子項目,也提供了一種更為方便的集中配置的方式,大大減少了構建帶來的複雜度。除此之外,Gradle還提供了清晰的Project樹模型來映射多項目的組織圖。下面,讓我們瞭解一下如何使用Gradle構建多項目

1.多項目的定義和結構

Mulit project 設定是gradle 約定的一種格式,如果你需要編譯某個項目之前,要先編譯另外一個項目的時候,就需要用到,結構如(來自於官方文檔):

        MyProject/          | settings.gradle            + app/          | build.gradle            + libraries/                + lib1/                   | build.gradle                + lib2/                   | build.gradle

你需要在你的workplace 目錄下面建立settings.gradle 的檔案,然後在裡面寫上:

include ‘:app‘, ‘:libraries:lib1‘, ‘:libraries:lib2‘

那樣,gradle mutil project 就設定完畢。

對於app project 如果需要應用libraries 目錄下的 lib1 ,你只需要在app project build.gradle 裡面的依賴中這麼寫:

1
compile project(‘:libraries:lib1‘)

即可完成,寫完以後可以用gradle AndroidDependencies 來檢查依賴狀況。

需要注意的地方
123456789
buildscript {    repositories {    mavenCentral()}        dependencies {        classpath ‘com.android.tools.build:gradle:0.4‘    }}

對於buildscript{} 在android gradle是用來預置外掛程式環境,一般不建議把依賴寫著裡面,推薦的依賴寫法是:

1234567891011121314151617181920212223
buildscript {    repositories {    mavenCentral()}        dependencies {        classpath ‘com.android.tools.build:gradle:0.4‘    }}repositories {//從中央庫裡面擷取依賴mavenCentral()//或者使用指定的本地maven 庫maven{url "file://F:/githubrepo/releases"}}dependencies {//應用格式: packageName:artifactId:versioncompile ‘com.google.android:support-v4:r13‘}
使用Maven 管理庫

gradle 對於包的管理,支援filesystem,maven,ivy,這裡我重點說說如何利用maven 進行android 依賴包的管理

利用Gradle 發布本地maven 庫

對於如何打包一個jar 包並且發布到maven,這是java 的基本知識,這裡就不說了。

我們現在要學習的是,例如發布一個android library 包。

在過去,android library並沒有一個很好的包管理方式,簡單來說,在gradle出現以前,官方並沒有一種用於管理android library 依賴包的方式,一般我們都是直接下載別人的android library project 源碼進行整合,而對於第三方的android-maven-plugin 用的是apklib 格式。

而現在,官方終於推出一種android library的打包格式,副檔名為*.aar。前面提到,目前android gradle外掛程式並不支援本地直接使用*.aar檔案,不過,支援包管理庫的引用方式,下面,我為大家說一下,怎麼對android library 發布使用。

  1. 打包android library

    對android library 進行打包直接在library項目下面使用gradle build 即可,然後,你就會在 build/libs 目錄下看到兩個*.aar檔案,一個debug包用的,一個是release 下用的,看個人需求使用,這裡我們用的是release 版本的 .aar 檔案。

  2. 發布指令碼

    android library project 目錄的 build/libs 下建立一個build.gradle 檔案

    123456789101112131415161718
    apply plugin: ‘maven‘group = ‘com.youxiachai‘artifacts {//當前aar 檔案名稱archives file(‘Gradlelib.aar‘)}uploadArchives {  repositories {mavenDeployer {repository(url: "file://F:/githubrepo/releases")pom.version  = ‘r1‘pom.artifactId = ‘gradletest‘}}}
    gradle uploadArchives即可完成包的發布。

     

完成以上兩步就可以直接用maven 引用jar的依賴那樣,引用android library 的依賴。

 

Android(java)學習筆記127:Android Studio建立工程中的build.gradle、settings.gradle

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.