【问题标题】:Android library with dependency not resolving properly具有依赖关系的 Android 库无法正确解析
【发布时间】:2019-09-16 12:42:36
【问题描述】:

所以我有一个 Android 库项目,SimpleWidget。我将它发布到 jcenter。

我可以创建一个新项目并添加implementation 'my.project:simplewidget:1.2.3',一切正常,我可以使用SimpleWidget 实例及其公共API。

现在我创建了另一个 Android 库项目,ComplexWidgetComplexWidgetSimpleWidget 的子类。我将 implementation 'my.project:simplewidget:1.2.3' 添加到 build.gradle 中,一切都解决了,事实上,我什至可以不用 lint 大喊像 ComplexWidget complexWidget = new ComplexWidget() 这样的超级基本的东西。

但是,项目不会编译。任何返回或参数类型为SimpleWidgetComplexWidget 方法(例如,许多继承的方法,或接受SimpleWidget 参数的接口,或返回SimpleWidget 实例的工厂)都不会编译并且Android Studio 抱怨“无法访问 my.project.SimpleWidget”。

我不确定是否应该提及它,因为害怕弄脏水,但是如果我命令单击 SimpleWidget 在例如 public class ComplexWidget extends SimpleWidget 中,我会在文件顶部收到警告“库源确实与 SimpleWidget 类的字节码不匹配”。

有什么想法吗?

TYIA

【问题讨论】:

  • 尝试使用api 而不是implementation

标签: android gradle android-library


【解决方案1】:

改用api 'my.project:SimpleWidget:1.2.3'

【讨论】:

    猜你喜欢
    • 2017-03-16
    • 2020-06-04
    • 2013-04-20
    • 1970-01-01
    • 2018-12-15
    • 2018-11-06
    • 2014-05-06
    • 2022-01-17
    • 2020-08-16
    相关资源
    最近更新 更多