我在 Android 项目中遇到一个问题,我试图在模块 C 的代码中使用模块 B 中定义的注释。但是,我在 Android Studio 中收到“未解析的引用”错误。我尝试了各种配置,但无法解决这个问题。这是我的项目结构以及到目前为止我所做的事情:
模块B:注释处理器模块,包含注释和注释处理器。 模块 A:Android 应用程序模块,其中包含模块 B 作为注释处理的依赖项。 模块 C:Android 应用程序模块,包含模块 A,旨在使用模块 B 中的注释。
尽管遵循概述的步骤并确认设置,我仍然无法在模块 C 的代码中导入和使用模块 B 的注释。模块 C 中 MyAnnotation 的导入语句显示“未解析的引用”错误。
任何有关我为何遇到此问题以及如何解决此问题的见解将不胜感激。
如果我需要提供任何其他详细信息,请告诉我。预先感谢您的帮助!
如果您有依赖项,例如 C 依赖 A 依赖 B,则使用
implementation()
添加依赖项将不起作用。为了获得模块C中的瞬态依赖,可以在指定依赖B时在A的gradle文件中设置api
,然后模块B的类和方法将在模块C中可用。
模块A的Gradle文件
api(project(":moduleB")) // moduleB's source will be able with moduleA
模块C的Gradle文件
imeplementation(prject(":moduleA")) // source of both moduleA and moduleB will be available for module C
但是,指定这一点的最佳方法是在模块 C 中添加两个依赖项。
imeplementation(prject(":moduleA"))
imeplementation(prject(":moduleB"))