1

我正在开发一个具有自定义项目结构的 gradle android 项目。我们使用 sourceSets.main api 为“AndroidManifest.xml”、“res”等进行映射。此设置没有问题,所有功能都可以正常工作。

在项目中,我们计划实现动态功能模块。作为项目配置的一部分,我遵循了 android 文档https://developer.android.com/studio/projects/dynamic-delivery#feature_build_config中提到的所有步骤。

作为说明的一部分,必须将基本模块作为动态功能模块的依赖项,如下所示

依赖{

// Declares a dependency on the base module, ':app'.
implementation project(':app')

}

当我编译项目时,构建失败并出现以下错误,(“KSApp”是我的主要项目名称,“dynamic_feature”是动态功能模块)

“在项目 ':dynamic_feature' 中找不到路径为 ':KSApp' 的项目。”

有人可以解释一下,出了什么问题以及如何将基本模块作为我的依赖项放在动态功能模块中?

我尝试了什么:

  1. 在动态功能模块的依赖项部分使用实现项目(${project.rootDir}")。

  2. 在动态功能模块的依赖项部分使用实现文件(${project.rootDir}")。

笔记 :

我能够在 Android Studio 中创建的常规项目中成功实现动态功能模块。我只在具有自定义项目结构的项目中看到问题。

4

1 回答 1

2

问题在于从子模块中引用基本模块。由于我的项目具有自定义 android 结构,因此基本模块位于项目根文件夹中。在这种情况下,要从子模块中引用基本模块,应该使用以下方法:

dependencies {
    implementation project(':')
}

这是在解决问题。

于 2019-02-18T10:26:24.647 回答