簡體   English   中英

Android gradle依賴項

[英]Android gradle Dependencies

如何根據某個配置文件動態添加gradle依賴項,該文件告訴android studio要添加到項目中的庫

提前致謝

如果我理解正確,你需要這樣的東西:

  • build.gradle包含“標准”配置,在所有團隊中都是通用的和共享的
  • 一些特殊的配置(但對於同一個項目)可能因團隊而異

並且你想避免,你必須一直檢查或評論一些依賴關系,因為最后一次簽入來自團隊B,而團隊A需要一些其他依賴項(或相同依賴項的不同版本)。

我到目前為止對嗎?

這可以通過gradle中的新標志來完成,稱為apply-from 或多或少,這是一個include命令,它允許您將單獨文件的內容導入到當前的build.gradle配置中。

我在我的項目中使用它來包含簽名配置(它僅對我的所有應用程序存在一次,並且只是“包含”在構建中,而不是一遍又一遍地復制)。 對於某些標准依賴項也是如此,例如支持庫,濃縮咖啡和類似的東西。 這會使build.gradle文件變小。

從我的構建文件中查看此示例,我認為您可以根據自己的需要進行調整:

apply plugin: 'com.android.application'
apply from: '../../stdcfg/app/default.build.gradle'
apply from: '../../stdcfg/app/include.libs.gradle'
apply from: '../../stdcfg/app/signingconfig.gradle'

android {
    // ... normal contents of your build file
}

apply-from包含此build.gradle文件的任何文件。 舉個例子,這是我的default.build.gradle文件的(部分)內容,你看,這甚至可以添加依賴項:

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

    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', 
    {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    testCompile 'junit:junit:4.12'

    compile 'com.android.support:cardview-v7:25.2.0'
    compile 'com.android.support:appcompat-v7:25.2.0'
    compile 'com.android.support:design:25.2.0'
    compile 'com.android.support:support-v4:25.2.0'
    //  compile 'com.google.android.gms:play-services-ads:10.2.0'
    //  compile 'com.google.android.gms:play-services-gcm:10.2.0'
}

那么,你如何適應它?

比如說,A隊和B隊各得到一個特定文件,我們將文件命名為teamconfig.gradle 在Team A的分支中,該文件包含Team A的配置,在團隊B的Team B的分支中。兩個團隊為他們的app使用相同的build.gradle文件,其中包含以下行:

apply from: '../branches/teamconfig/teamconfig.gradle'

此文件包含特定於團隊的配置。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM