我有两个模块,module1
(安卓库)和module2
(Java库)。
module1
module2
依赖implementation
。
module2
具有依赖关系d3
,org.apache.oltu.oauth2:org.apache.oltu.oauth2.client:1.0.2
为implementation
依赖关系。
但是,我可以在d3
的类中导入module1
中的符号,而不会让Android Studio抱怨。 (这意味着d3
通过其他库在module1
的类路径中)
但是,在编译时,module1
的构建失败并显示error: package org.apache.oltu.oauth2.common does not exist
!
如果在编译时无法解析该包中的所有符号,它是如何导入的?
答案 0 :(得分:0)
我发现如果依赖图是这样的:
make_new
L <- mget(dfnames, env)
L2 <- lapply(L, make_new)
app (implementation dependent) moduleA
app (implementation dependent) moduleC
然后moduleA (implementation dependent) moduleB
,moduleC (api dependent) moduleD
和moduleA
中的符号在moduleC
中可见(正如预期的那样),但令人惊讶的是moduleD
中的符号也是可见的!< / p>
但是,在编译app
期间(正如预期的那样)无法解析moduleB
中的符号。
我不确定这是否是我正在使用的Android 3.1.2的一个功能还是一个bug。