Android Studio разрешает символ, но не может найти пакет во время компиляции - PullRequest
0 голосов
/ 18 мая 2018

У меня есть два модуля, module1 (библиотека Android) и 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!?

Как он может импортировать все символы из этого пакета, если он не может разрешить его во время компиляции?

1 Ответ

0 голосов
/ 19 мая 2018

Я понял, что если график зависимости таков:

app (implementation dependent) moduleA
app (implementation dependent) moduleC
moduleA (implementation dependent) moduleB
moduleC (api dependent) moduleD

тогда символы в moduleA, moduleC и moduleD видны в app (как и ожидалось), но неожиданно символы в moduleB также видны!

Однако эти символы в moduleB невозможно разрешить во время компиляции app (как и ожидалось).

Я не уверен, является ли эта функция Android 3.1.2, которую я использую, или ошибкой.

...