Как добавить исходник Fresco в другой проект через Gradle

Я могу построить Fresco из исходного кода, как указано на его официальном сайте.

Однако я не могу добавить его источник в качестве проекта в мой build.gradle,

При попытке построить проект он выдает исключение, как показано ниже:

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':ReactAndroid'.
> Failed to notify project evaluation listener.
   > Could not resolve all dependencies for configuration ':ReactAndroid:_debugPublish'.
      > Configuration with name 'default' not found.
   > Could not resolve all dependencies for configuration ':ReactAndroid:compile'.
      > Configuration with name 'default' not found.

Есть ли шанс преодолеть эту проблему?

settings.gradle файл приложения:

include ':app'

include ':fresco'
project(':fresco').projectDir = new File(rootProject.projectDir, '../fresco')

build.gradle файл приложения:

...
dependencies {
    compile fileTree(dir: "libs", include: ["*.jar"])
        compile "com.android.support:appcompat-v7:27.0.+"

        compile project(':ReactAndroid')
        compile project(':fresco')
}
...

Некоторые объяснения:

  • Фреска имеет главный build.gradle файл, который служит для других модулей build.gradle файлы
  • Также он выставляет множество модулей в своем собственном settings.gradle файл. Я не знаю, как позвонить и использовать их.

1 ответ

Этого можно добиться с помощью сборок Gradle Composite, функции, добавленной в Gradle 3. Существует множество способов ее настройки, но для включения локальной сборки сторонней библиотеки, такой как fresco, вы можете настроить ее через cli:

./gradlew assembleDebug --include-build <path/to/local/fresco/>

Поскольку проекты хранятся отдельно, структура сборки фрески не имеет значения, и вам не нужно изменять проект реагирования. settings.gradle или же build.gradle, Включенная сборка обеспечит зависимость и заменит удаленную версию.

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