android studio學習----添加項目依賴包總結


Gradle Library Projects

Gradle 項目可以依賴於其它組件。這些組件可以是外部二進制包,或者是其它的 Gradle 項目。

在本例中, app/build.gradle 中有以下內容:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile project(':library')
compile 'com.nineoldandroids:library:2.4.0'
}


Local packages(本地包)


compile fileTree(dir: 'libs', include: ['*.jar'])


引用 libs 目錄下的所有的 .jar 文件。如果你指向引用 libs 目錄下中一個指定的 jar ,你可以這么設置:

compile files('libs/xx.jar')


Remote artifacts(遠程文件)


compile 'com.android.support:appcompat-v7:21.0.3'


引用 21.0.3 版本的 appcompat-v7 。

在 Android Studio中,使用 android support ,需要在 SDK 中下載 Android Support Repository ,且項目中使用的版本不能大於 SDK 中的版本。

當你的 SDK 中已經下載指定版本的 Android Support Repository ,即使沒有聯網,你也是可以在 Android Studio 中依賴對應的文件。

如果你的 SDK 沒有下載指定版本的 Android Support Repository ,即使你現在連着網,也會出錯。

compile 'com.nineoldandroids:library:2.4.0'


引用 2.4.0 版本的 NineOldAndroids 。需要聯網下載。

使用 maven 和 ivy 時需要在 build.gradle 中將倉庫添加到列表中。

buildscript {
repositories {
    jcenter()
}
}

allprojects {
repositories {
    jcenter()
}
}


  • mavenCentral() :表示依賴從 Central Maven 2 倉庫中獲取。
  • jcenter() :表示依賴從 Bintary’s JCenter Maven 倉庫中獲取。
  • mavenLocal() :表示依賴從本地的Maven倉庫中獲取。

 

Library Project(庫項目)

compile project(':library')

引用名稱為 library 的 module 。需要注意的是,被引用的 module 需要在 {@projectName}/settings.gradle 文件中進行注冊。

我們可以觀察到,library/build.gradle 中使用的 apply plugin 為 'com.android.library'。用以標記這是一個Android Library Project 。

當然,你也可以依賴一個 Java Project ,apply plugin 為 'java'。

補充內容

關於依賴更多的補充內容如下:

dependencies {
// 引入 jar 包。
// 引用某一個特定的jar。
compile files('libs/xx.jar')
// 引用libs文件夾下除xx.jar以外所有的jar。
compile fileTree(dir: 'libs', include: ['*.jar'], exclude: ['xx.jar'])

// so包在0.8版本的Android Studio中的目錄更改為@{ModuleName}/src/main/jniLibs。且可以不用在此處配置so了。

// 從 maven 庫中引入。
//compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abc:0.9.2'

// 引用 lib 工程。
compile project(':moduleName')

// 引用users-library。users-library作用是,在編譯時使用,但是jar不會打包到apk中,由Android或Android上安裝的服務提供需要的內容。
// 使用場景:
// 1. 使用Android的framework-classes.jar中的一些隱藏的API。
// 2. Google的服務框架或者其他服務框架。需要在AndroidMainFest.xml中配合uses-library使用。
provided files('libs/xx.jar')
provided 'aaa:bbb:x.x.x'

// 在測試環境下引用依賴。
// 引用jar文件。
androidTestCompile files('libs/xx.jar')
// 引用Maven。
androidTestCompile 'junit:junit:4.11'

// 在baidu productFlavors分支下引用依賴。
// 引用jar文件。
baiduCompile files('libs/xx.jar')
// 引用Maven。
baiduCompile 'aaa:bbb:x.x.x'

// 在release buildTypes分支下引用依賴。
// 引用jar文件。
releaseCompile files('libs/xx.jar')
// 引用Maven。
releaseCompile 'aaa:bbb:x.x.x'
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM