У меня есть библиотека, которая использует все наши приложения. за исключением общего кода и ресурсов, которым я хотел поделиться градиентом. каждое приложение построено: some_app/ | - settings.gradle - build.gradle | - mylib/ | -build.gradle - other_lib/ - приложение/ | - build.gradleзапустить общий код градиента в файле андроида базового проекта
прямо сейчас я говорю о build.gradle в корневом каталоге. Тот, который определяет закрытие buildScript с помощью dependecies и allprojects {}.
Я попытался использовать заявку: './mylib/gradle_files/baseProject.gradle' он работает, но тогда мое приложение не может найти плагин android. по какой-то причине зависимостей classpath не были введены в скрипт сборки! я затем попытался создать список и использовать это:
ext.projectBaseDependencies = ['com.android.tools.build:gradle:2.1.2', 'com.google.gms:google-services:3.0.0']
Затем я использовал список в моем закрытия:
apply from: './mylib/gradle_files/baseProject.gradle'
buildscript { репозиториев { jcenter() } зависимостей { classpath projectBaseDependencies } }
it doesn 't work, gradle не находит мою переменную, определенную в baseProject.gradle. У меня есть догадка, применяемая к работам ПОСЛЕ ПОСЛЕДУЮЩЕЙ ЗАДАЧИ buildScript :-(
Есть ли способ разделить код сценария gradle во всех приложениях, если он не применяется, что МОЖЕТ работать? Skip configuration and config in afterEvaluate { ?} пункт
это теперь позволяет использовать свойства самого buildscript, для Gradle файла OFTHE приложения и Gradle файла библиотек я не имею проблема использования 'apply from:' это только в корневой сборке, файле gadle и bildScript {} закрытии – codeScriber