JitPack не будет использовать репозиторий GitHub - включен репозиторий, демонстрирующий проблему

Каждый раз, когда я пытаюсь раскошелиться на библиотеку Android и использовать ее через JitPack, я получаю ошибки, сдаюсь и выбираю другие способы настройки и использования библиотеки. На этот раз я хотел докопаться до сути и создал основное приложение, которое изолирует проблему. Не могли бы вы скачать репозиторий ниже и сказать мне, что я делаю не так?

В этом репо очень простое приложение для Android: https://github.com/gazialankus/JitpackNotWorking. Я просто создал новое Android-приложение в Android Studio и следовал инструкциям в https://jitpack.io/ чтобы добавить https://github.com/ArthurHub/Android-Image-Cropper репозиторий github в качестве зависимости. Я добавил репозиторий JitPack Maven в корневой каталог build.gradle и добавил зависимость библиотеки в приложение build.gradle следующим образом:

compile 'com.github.ArthurHub:android-image-cropper:2.4.5'

Gradle синхронизируется нормально, но android-image-cropper-2.4.5 не отображается во внешних библиотеках в представлении проекта. Итак, приложение не будет собираться с этой ошибкой:

Error:(6, 38) error: package com.theartofdev.edmodo.cropper does not exist

Как я отмечал в комментариях в приложении build.gradle, использование библиотеки без JitPack, как это работает, прекрасно:

compile 'com.theartofdev.edmodo:android-image-cropper:2.4.5'

Я подумал, что JitPack не может создать этот репозиторий. Тем не менее, журнал JitPack для этого репозитория говорит "хорошо".

Версии Gradle и Java: в меню Android Studio Файл> Структура проекта> Проект версия Gradle - 3.3, а версия плагина Android - 2.3.3. В этом же диалоговом окне на вкладке Расположение SDK показано, что встроенный JDK используется из C:\Program Files\Android\Android Studio\jre.

> "C:\Program Files\Android\Android Studio\jre\bin\java.exe" -version 
openjdk version "1.8.0_112-release"
OpenJDK Runtime Environment (build 1.8.0_112-release-b06)
OpenJDK 64-Bit Server VM (build 25.112-b06, mixed mode)

В Android Studio нет ожидающих обновлений.

Не могли бы вы скачать и собрать этот репозиторий, который изолирует проблему и скажите мне, что я делаю неправильно? Опять же, хранилище, демонстрирующее проблему, находится здесь: https://github.com/gazialankus/JitpackNotWorking

Спасибо.

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

РЕШЕНО: Пожалуйста, смотрите https://github.com/gazialankus/JitpackNotWorking/blob/master/README.md для более подробной информации.

1 ответ

Решение

Я думаю, что проблема в группе и версии.

В журнале сборки видно, что в вызове Gradle содержится -Pgroup=com.github.ArthurHub а также -Pversion=2.4.5, Но и в журнале вы видите Found artifact: com.theartofdev.edmodo:android-image-cropper:2.4.5-SNAPSHOT где это на самом деле должно быть Found artifact: com.github.ArthurHub:android-image-cropper:2.4.5,

В списке файлов внизу журнала вы также видите, что создается только POM, без jar или aar. Вот почему синхронизация Gradle успешна в AS, поскольку pom зависимостей найден и допустим, для этой зависимости просто нет артефактов.

Если вы посмотрите на build.gradle проекта, на который вы ссылаетесь, то увидите, что они не используют group а также version для конфигурации публикация, так что то, что установил JitPack, не используется и, следовательно, не может быть найдено.

Этот проект просто не совместим с JitPack, поскольку JitPack не становится более интеллектуальным и вместо простой установки некоторых переменных проекта добавляет сценарий инициализации, который перенастраивает публикации, или что-то в этом роде.

Возможно, вам следует использовать композитную сборку. С составной сборкой вы бы объявили бинарную зависимость как com.theartofdev.edmodo:android-image-cropper:2.4.5, но затем подставьте эту зависимость рабочему дереву проекта, и автоматически будет выполнена подкомпиляция, чтобы получить артефакт для зависимости. Это чистый способ Gradle заменить зависимость пользовательской сборкой.

Другие вопросы по тегам