所以我有一个Android库项目SimpleWidget
。我将其发布到jcenter。
我可以创建一个新项目并添加implementation 'my.project:simplewidget:1.2.3'
,然后一切都会按预期进行,我可以使用SimpleWidget
实例及其公共(public)API。
现在,我创建另一个Android库项目ComplexWidget
。 ComplexWidget
是SimpleWidget
的子类。我将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/