Общий файл для Android-библиотек Kotlin DSL

Для нашего многомодульного проекта Android мы используем Kotlin DSL для нашего проекта build.gradle.kts, модуля приложения build.gradle.kts, settings.gradle.kts. Однако мы хотели преобразовать файлы .gradle нашего библиотечного модуля в Kotlin DSL. Проблема, с которой мы сталкиваемся, заключается в том, что мы получаем Unresolved reference: android при применении скрипта.

Я не вижу четкого примера наличия общего файла gradle.kts для библиотек Android, который можно было бы применить к библиотечным модулям Android.

1
0
1 772
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Есть два способа сделать это, один сложнее другого.

Скрипты Gradle используют динамическое разрешение, поэтому вы можете поместить их в любой каталог, а затем применить к файлу сборки.

Есть два способа решить эту проблему, оба связаны с каталогом buildSrc/.

  1. Вы можете использовать kotlin-dsl-precompiled-script-plugins.

Предварительно скомпилированный скрипт — это скрипт Kotlin, скомпилированный как часть обычный исходный код Kotlin и распространяется обычным образом, как java файлы классов, упакованные в какую-либо библиотеку, предназначенные для использования в виде двоичных файлов Плагин Gradle.

https://github.com/gradle/kotlin-dsl-samples/tree/master/samples/precompiled-script-plugin

  1. Вы можете создать собственный плагин Gradle, который настраивает проект.

Здесь отличный пример с более подробной информацией и пример репозитория, показывающий реализацию.

Спасибо, это руководство действительно помогло и прояснило ситуацию! Я пошел с предварительно скомпилированным вариантом.

Dhananjay Suresh 14.12.2020 17:49

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