我正在研究具有自定义项目结构的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中创建的常规项目中成功实现动态功能模块。我只在具有自定义项目结构的项目中看到问题。
答案 0 :(得分:2)
问题是在引用基本模块形式的子模块中。 由于我的项目具有自定义的android结构,因此基本模块位于根项目文件夹中。在这种情况下,要从子模块中引用基本模块,应使用以下方法,
依赖性{
implementation project(':')
}
这正在解决问题。