1

我在我的應用程序中有2個模塊,我想修改它們以使用AppCompat Widgets,我必須使用它們對它們進行相同的擴展。問題是我不想爲它們中的每一個添加appcompat依賴項,所以我怎麼可能將Dependency添加到模塊和我的應用程序。如果我添加在所有庫中導入應用程序compat依賴項

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

到每個模塊,它會影響應用程序的大小?

回答

5

每個模塊使用

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

並不意味着添加了兩遍或更多次。

Gradle處理它只爲您添加一次庫。

使用多模塊項目,可以將支持庫依賴關係集中在gradle中。

一個很好的方法是分離gradle這個構建文件,定義是這樣的:

root 
    --gradleScript 
    ----dependencies.gradle 
    --module1 
    ----build.gradle 
    --module2 
    ----build.gradle 
    --build.gradle 

gradleScript/dependecies.gradle

ext { 
    //Version 
    supportLibrary = '23.2.0' 

    //Support Libraries dependencies 
    supportDependencies = [ 
      design   :   "com.android.support:design:${supportLibrary}", 
      recyclerView  :   "com.android.support:recyclerview-v7:${supportLibrary}", 
      cardView   :   "com.android.support:cardview-v7:${supportLibrary}", 
      appCompat  :   "com.android.support:appcompat-v7:${supportLibrary}", 
      supportAnnotation:   "com.android.support:support-annotations:${supportLibrary}", 
    ] 
} 

在頂層文件build.gradle

// 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:1.5.0' 
    } 
} 

// Load dependencies 
apply from: 'gradleScript/dependencies.gradle' 

module1/build.gradle

// Module build file 

dependencies { 
    //...... 
    compile supportDependencies.appCompat 
    compile supportDependencies.design 
} 
+0

如何在排除組中添加依賴關係? –

相關問題