Intereting Posts
GoogleService не удалось инициализировать, статус: 10, Отсутствует ожидаемый ресурс: В Andorid Безопасный вход в приложение Google Plus через приложение для Android Android – зарегистрируйте нажатие кнопки и выполните действия, основанные на выборе радио Как решить «Код версии вашего APK должен быть выше 2.» в консоли разработчика Google Play? Скопировать файл в папку с ресурсами Как явное указание, что приложение не поддерживает устройства LDPI Как добавить индикатор загрузки в AutoCompleteTextView Как обновить содержимое фрагмента из активности (viewpager)? Drawables всегда считываются из папки mdpi, независимо от размера экрана Использование Travis CI с Android WearableListenerService onMessageReceived не вызывается на устройстве Шрифт malayalam в андроиде? RegisterOnSharedPreferenceChangeListener () подходит для сравнения Автоматизация тестового блока Android: библиотека Robolectric vs Android Testing Уточнение поведения AlarmManager в Android

Как добавить подмодуль java gradle в мой Android-модуль?

Предположим, у меня есть проект приложений Android в IntelliJ Idea с Gradle. Назовите это MyApplication . Я хочу добавить простой библиотечный модуль Java (не проект библиотеки Android) как подмодуль к MyApplication . Давайте позвоним этому модулю testlib . И затем, когда весь проект построен, я хочу, чтобы этот модуль был скомпилирован и включен в / libs папку MyApplication.

Я попытался: я создал подпрограмму testlib и включил ее как зависимость от MyApplication , но я получаю следующее предупреждение:

Предупреждение: Gradle: модуль testlib не будет скомпилирован. К сожалению, у вас не может быть модуль Java без модуля Gradle и модуль Android-Gradle в одном проекте.

Возможно ли это?

Если вы создали свой проект в IntelliJ в качестве проекта Android-gradle, тогда, когда вы переходите к окну «Добавить новый модуль», вы должны увидеть вариант «Gradle: Java library», например:

Введите описание изображения здесь

IntelliJ IDEA не поддерживает модули Gradle и Non-Gradle в одном проекте. Комментарий от JetBrains на их форуме ясно говорит об этом.

Решение состоит в том, чтобы либо преобразовать модули Maven в модули Gradle, либо разделить проект на два. При использовании последнего подхода, если вы создадите простой библиотечный модуль Java с Maven до создания проекта Gradle, вы все равно сможете использовать его в качестве зависимости в проекте приложения Android.

Остерегайтесь использования разных уровней языка Java в многомодульных проектах Gradle. IntelliJ IDEA неправильно обрабатывает их из-за ошибки в IntelliJ IDEA или Gradle. (Ожидается, что это будет исправлено в среде IDE или Gradle).