Android Studio: не удалось выполнить синхронизацию по Gradle: Project: приложение объявляет зависимость

Я работаю в Android Studio 2.3, и я хочу использовать библиотеку, которую я нашел в github ( https://github.com/henrychuangtw/Android-ChatHead ), и нет файла Jar. В settings.gradle я объявил каталог, в котором находится библиотека:

include ':app' include ':Android-ChatHead' project(':Android-ChatHead').projectDir=new File('/Users/lorand/AndroidStudioProjects/Doritest/android_chatHeads') 

И я также добавил библиотеку к зависимостям build.gradle:

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile project(':Android-ChatHead') androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.1.1' compile 'com.android.support.constraint:constraint-layout:1.0.2' testCompile 'junit:junit:4.12' } 

После этого, если я синхронизирую, я получаю эту ошибку:

Не удалось выполнить синхронизацию Gradle: Project: приложение объявляет зависимость от конфигурации 'compile' до конфигурации 'default', которая не объявлена ​​в дескрипторе для проекта: Android-ChatHead. Обратитесь к журналу IDE для получения дополнительной информации (Справка | Показать журнал)

Если я добавлю / app в конец пути к файлу в settings.gradle, я получаю следующую ошибку:

 Error:Dependency Doritest:Android-ChatHead:unspecified on project core resolves to an APK archive which is not supported as a compilation dependency. File: /Users/lorand/AndroidStudioProjects/Doritest/android_chatHeads/Android-ChatHead/app/build/outputs/apk/Android-ChatHead-release-unsigned.apk 

Я не могу понять, что я должен делать.

Вы не можете добавлять такие зависимости, насколько я знаю, я полагаю, что нет никакой баны для зависимости, которую вы хотите использовать, поэтому вам нужно будет добавить Android-ChatHead качестве модуля

Для этого выполните следующие действия:

  1. Нажмите «Файл»> «Создать»> «Импортировать модуль».
  2. В поле «Исходный каталог» введите или выберите каталог модулей (модулей), которые вы хотите импортировать:

    • Если вы импортируете один модуль, укажите его корневой каталог.

    • Если вы импортируете несколько модулей из проекта, укажите папку проекта. Для каждого модуля внутри папки появляется окно и указывает расположение источника и имя модуля. Убедитесь, что флажок Импортирован для каждого модуля, который вы хотите импортировать.

  3. Введите нужные имена модулей в поле (имена) модуля.

  4. Нажмите «Готово».

  5. В ваших настройках.gradle add

    include ':app', ':Android-ChatHead'

  6. В разделе зависимостей вашего приложения build.gradle add

    compile project(':Android-ChatHead')

  7. Очистить / создать проект

Импорт по копии и по ссылке различен

То, что делает П.Лоранд, ссылается на модуль, а не на копирование, поэтому любые изменения, которые он делает в модуле, влияют на все другие приложения, ссылающиеся на модуль.

С помощью метода Ивана Милисавлевича модуль копируется в приложение. Редактирование импортированного модуля действует только в приложении, иногда хорошая идея, иногда раздражение.

Приложение и модуль имеют разную структуру

Приложение имеет корневой каталог приложения и модуль приложения внутри него, обычно называемый приложением.
Корнем модуля является сам модуль.

Меняя это:

 project(':Android-ChatHead').projectDir=new File('/Users/lorand/AndroidStudioProjects/Doritest/android_chatHeads') 

в

 project(':Android-ChatHead').projectDir=new File('/Users/lorand/AndroidStudioProjects/Doritest/android_chatHeads/moduleName') 

может помочь.

Также, если вы конвертируете приложение в модуль, обязательно переименуйте app , два модуля с тем же именем – это обещание для катастрофы.

С Android-ChatHead

Он содержит папку приложения, поэтому это приложение, а не модуль.
Build.gradle содержит apply plugin: 'com.android.application' , поэтому бит application нужно заменить library .
Выйти из applicationId "henrychuang.tw.chatheadmsg" .
Переименуйте приложение имени модуля в другое; Я никогда не делал этого вручную, с андроидной студией ctl + alt + r на панели приложений на вкладке «Проект».

Тогда с тобой все будет хорошо. Сначала попробуйте импортировать копию.