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

How to resolve dependency in android library for depended modules

我正在开发一个由 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')

}

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