如何从图书馆获得对 :app class 的访问权限?

How to gain access to :app class from library?

我有一个案例需要从库项目访问 :app 项目 类。 (不是 res,java 类) 我已经搜索过,答案是在库 Gradle 文件中实现 :app,如下所示:

implementation project(':app')

然后在 Gradling 之后我得到了这些错误:

ERROR: Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve project :app.
ERROR: Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve project :app.
ERROR: Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Could not resolve project :app.

然后我再次搜索,我认为这可能是实现两个项目的循环,然后我添加了第三个 android 库作为 :app 和 :myLib 的连接器,即使是错误是一样的。实现两个 android 库,每个库都不是问题,即使是循环类型,但主应用程序目录... 所以有什么帮助吗? 我必须再次这样做并且没有其他方法,例如,使用抽象 类 或......我的情况很特殊,因为这不是普通的应用程序,而是一个 android frameWork 不仅仅是一个应用程序。 谢谢

您可能是对的,Circular Dependency 可能就是这种情况。但是将 Android application 作为 Dependencyandroid library 没有意义。

一个更好的解决方案是 extract 那些你想从 app 使用的文件进入单独的 new module,将这个新模块标记为 android-library,并实现此 new module 进入space 那里你要访问这些新隔离的类.