constants.gradle
project.ext {
minSdkVersion = 19
compileSdkVersion = 28
targetSdkVersion = 28
buildToolsVersion = '28.0.3'
supportLibraryVersion = '28.0.0'
}
build.gradle de l'application
apply plugin: 'com.Android.application'
apply from: '../constants.gradle'
Android {
compileSdkVersion project.ext.compileSdkVersion
buildToolsVersion project.ext.buildToolsVersion
defaultConfig {
...
Qu'est-ce qui ne va pas ici?
Bien que cela fonctionne bien pour les bibliothèques du même projet:
De plus, tout va bien pour les lignes suivantes dans le bloc defaultConfig
minSdkVersion project.ext.minSdkVersion
targetSdkVersion project.ext.targetSdkVersion
Android Studio 3.2, classpath 'com.Android.tools.build:gradle:3.2.0'
, distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.Zip
Semble qu'il n'a pas montré de tels avertissements avec le précédent Gradle ou Studio
C'est juste un avertissement et ça devrait marcher.
Parce que lorsque vous utilisez project
à l'intérieur de la portée Android
, Gradle essaie de trouver l'emplacement d'appel de project
.
Vous avez deux options pour corriger cet avertissement.
Obtenez vos constantes en dehors de l'étendue Android
.
def compileSdkVersion = project.ext.compileSdkVersion
Android {
compileSdkVersion compileSdkVersion
...
Ou mettez à jour votre constants.gradle
:
ext {
buildVersions = [
minSdkVersion : 19
compileSdkVersion : 28
targetSdkVersion : 28
buildToolsVersion : '28.0.3'
supportLibraryVersion : '28.0.0'
]
}
et utilisez-le dans votre build.gradle
comme:
apply plugin: 'com.Android.application'
apply from: '../constants.gradle'
Android {
compileSdkVersion buildVersions.compileSdkVersion
buildToolsVersion buildVersions.buildToolsVersion