我正在开发一个具有自定义项目结构的 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’的项目。”
有人可以解释一下,出了什么问题以及如何将基本模块作为我在动态功能模块中的依赖项吗?
我试过的:
在动态特性模块的依赖部分使用实现项目(${project.rootDir}")。
在动态特性模块的依赖部分使用实现文件(${project.rootDir}")。
注意:
我能够在 Android Studio 中创建的常规项目中成功实现动态功能模块。我只在具有自定义项目结构的项目中看到问题。
最佳答案
问题出在引用基本模块形式的子模块中。 由于我的项目具有自定义的 android 结构,因此基本模块位于根项目文件夹中。在这种情况下,要从子模块引用基础模块,应该使用以下方法:
dependencies {
implementation project(':')
}
这就是解决问题。
关于android - App Bundle - 动态功能模块 : Base project not found in dynamic feature module error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54710831/