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

我可以创建一个新项目并添加implementation 'my.project:simplewidget:1.2.3',然后一切都会按预期进行,我可以使用SimpleWidget实例及其公共(public)API。

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

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

不知道我是否应该甚至因为担心使水浑浊而提到它,但是如果我命令单击SimpleWidget(例如public class ComplexWidget extends SimpleWidget),则会在文件顶部显示“库源与该类的byetcode不匹配”的警告。 SimpleWidget”。

有任何想法吗?

TYIA

最佳答案

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

关于android - 具有依赖关系的Android库无法正确解析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55877127/

10-09 03:29