Android Studio: как включить модуль Java в модуль Android?

В Android studio у меня есть модуль Android, назовем его MyAndroid. У меня также есть модуль Java (не автономный JAR, а полный проект Java в модуле), назовем его MyJava.

Я хочу, чтобы MyAndroid использовал MyJava в качестве зависимости проекта. Я пробовал использовать стандартный проект компиляции:

compile project(':myjava')

MyAndroid компилирует, и я даже вижу myjava.jar в разделе «внешние библиотеки», но исходный код MyAndroid не может видеть ни один из классов в исходном коде MyJava. Как будто MyJava вообще не связана.

Я делаю что-то не так? Есть ли дополнительная деталь, когда в зависимости от модулей Java вместо других модулей Android?


Редактировать
Я открыл MyAndroid.iml файл, чтобы увидеть, если что-то выглядело очевидно сломано. Я заметил, что не было для MyJava. Я добавил вручную:

<orderEntry type="module" module-name="myjava" exported="" />

Это, кажется, решило проблему разрешения исходного кода. Но я думаю, что это ручное изменение исчезнет, как только я запущу другую синхронизацию Gradle. Есть идеи, почему этого не было и как я могу сказать Грэдлу сделать это?


EDIT #2
Я все еще не знаю, почему модуль Java не будет правильно связываться с MyAndroid, но я сдался и добавил задачу Gradle, которая заставляет <orderEntry>узел в файл IML:

Я адаптировал пример кода в этом ответе к моим потребностям:
https://stackoverflow.com/a/24138659/3724038

1 ответ

  1. Я обновил Android Studio с 2.2 до 2.3, и эта проблема исчезла, поэтому похоже, что это была ошибка IDE.