Ищете какой-то умный способ сделать это только один раз, например
allprojects { android { buildToolsVersion '18.0.1' compileSdkVersion 18 defaultConfig { targetSdkVersion 18 } } }
В противном случае мне нужно выполнить эту задачу в каждом подпроекте (например, в справочной библиотеке, такой как volley или viewpagerindicator) каждый раз, когда доступно новое обновление SDK.
Обычно корневой проект не содержит кода и, следовательно, вы будете использовать subprojects
. Также вам придется применить плагин Android до блока android {}
. Кроме этого, я ожидаю, что это сработает.
Я ответил еще на один вопрос:
Я нашел решение здесь .
Скопируем его здесь на всякий случай:
У вас root build.gradle add
ext { compileSdkVersion = 20 buildToolsVersion = "20.0.0" } subprojects { subproject -> afterEvaluate{ if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) { android { compileSdkVersion rootProject.ext.compileSdkVersion buildToolsVersion rootProject.ext.buildToolsVersion } } } }
Это применит compileSdkVersion и buildToolsVersion к любым вашим Android-модулям.
И в зависимости от вашего основного проекта build.gradle меняются зависимости:
compileSdkVersion rootProject.ext.compileSdkVersion buildToolsVersion rootProject.ext.buildToolsVersion
В основном вы определяете их один раз и можете использовать из любого места.
Приветствия.