如何解决Android库中依赖模块的依赖关系

时间:2019-08-07 09:39:22

标签: android android-studio android-gradle-plugin android-library

我正在使用由5个模块创建的Android SDK。以下每个模块都是一个android库:

-视图

-IO

-域

-基本

-实用程序

view模块已将所有模块导入了Gradle,如下所示:

   /*-----------------------/IO Module\-------------------*/
    implementation project(path: ':io')

    /*-----------------------/Base Module\-------------------*/
    implementation project(path: ':base')

    /*-----------------------/Domain Module\-------------------*/
    implementation project(path: ':domain')

    /*-----------------------/Util Module\-------------------*/
    implementation project(path: ':util')

但是当我想将库导入到应用程序中时,通过添加view模块的依赖关系,其他模块的类将无法在应用程序中识别,因此我必须将所有模块导入到我的应用程序中Gradle文件。像这样:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'

    /*-----------------------/view Module\-------------------*/
    implementation project(path: ':view')

    /*-----------------------/Domain Module\-------------------*/
    implementation project(path: ':domain')


    /*-----------------------/Base Module\-------------------*/
    implementation project(path: ':base')

    /*-----------------------/Util Module\-------------------*/
    compile project(path: ':util')

}

1 个答案:

答案 0 :(得分:1)

您要在视图api文件中使用implementation而不是build.gradleapi与不推荐使用的compile选项相同,但是implementation仅向您的模块提供类,而不为依赖它的模块提供类。