Gradle Warning "не указано, зависит от библиотек, но является банкой" при компиляции модуля android в пользовательском модуле java-библиотеки

Я новичок в Gradle. У меня есть простая структура проекта (показано ниже), в которой есть основной модуль приложения для Android, один модуль Android (myandroidlibrary) и один чистый Java-модуль (myjavalibrary). Они имеют простые зависимости, app -> myjavalibary, myjavalibary -> myandroidlibrary (см. Рис. Ниже). Снимки файлов Gradle также приведены ниже.

Однако, синхронизируя градир, он вызывает следующую ошибку:

D:\MyTestCodes\MyTestApplication\app\build.gradle Warning:Module version MyTestApplication:myjavalibrary:unspecified depends on libraries but is a jar 

Pls помогите мне! Я провел весь этот день, чтобы разобраться в этом безрезультатно!

 MyProject - app - myjavalibrary (pure java library) - myandroidlibrary (android library) 

Теперь зависимость выглядит следующим образом:

 "app" depends on -> "myjavalibrary" "myjavalibrary" depends on -> "myandroidlibrary" 

Файлы Gradle для каждого из модулей следующие:

 gradle file for app module: ---------------------------- apply plugin: 'com.android.application' android { // ommitting other detail dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.0.0' compile project(':myjavalibrary') } Gradle file for myjavalibrary module: ------------------------------------- apply plugin: 'java' dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile project(':myandroidlibrary') } gradle file for myandroidlibrary module: ---------------------------- apply plugin: 'com.android.application' android { //ommiting other detail. dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.0.0' } The settings.gradle: --------------------- include ':app', ':myjavalibrary', ':myandroidlibrary' 

Теперь, когда я синхронизирую файлы gradle, он показывает следующую ошибку:

  D:\MyTestCodes\MyTestApplication\app\build.gradle Warning:Module version MyTestApplication:myjavalibrary:unspecified depends on libraries but is a jar 

Solutions Collecting From Web of "Gradle Warning "не указано, зависит от библиотек, но является банкой" при компиляции модуля android в пользовательском модуле java-библиотеки"

Предупреждение вызвано модулем myjavalibrary pure-jave, имеющим зависимость от myandroidlibrary one, который является библиотекой Android.

Gradle предупреждает вас, что модуль pure-java ничего не знает о специфических материалах Android myandroidlibrary (таких как ресурсы Android, активы и т. Д.). Имея эту зависимость (pure-java для android library one), вы можете потерять некоторые вещи, которые вы ожидаете.

Более чистое направление зависимостей было бы от библиотеки android до библиотеки pure-java. В этом случае Gradle не даст вам никаких предупреждений.

Если вы хотите создать проект приложения для Android из java-кода, используйте apply plugin: 'com.android.application' .

Если вы хотите создать проект библиотеки из java-кода, используйте apply plugin: 'com.android.library' .

Если вы хотите использовать предварительно созданные файлы jar, не создавайте для них никакого проекта. Просто добавьте их в проекты, в папку libs , которые зависят от них. compile fileTree(dir: 'libs', include: ['*.jar']) в dependencies позаботится о них.