Je reçois l'avertissement suivant dans mon fichier de construction Gradle
Tous les chemins d'exécution ne renvoient pas de valeur
Cette inspection signale une déclaration de retour groovy manquante à la fin des méthodes de retour
et voici le code de ce fichier
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "ac.company.srikar.quickhelpindia"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
Android {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:21.0.3'
}
}
Quelqu'un peut-il dire quel est le problème ici et comment se débarrasser de cet avertissement?.
Avec Android Studio 2.2, j'ai dû ajouter un return void
avant la dernière parenthèse dans la section Android
.
Android {
compileSdkVersion 24
buildToolsVersion "24.0.2"
defaultConfig {
applicationId "com.example.app"
minSdkVersion 19
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes {
debug {
minifyEnabled false
shrinkResources false
}
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
standard {
applicationId "com.example.app.standard"
}
free {
applicationId "com.example.app.free"
}
}
// `return void` removes the lint error: `Not all execution paths return a value`.
return void
}
J'ai reçu ce même avertissement et je pense qu'il est incorrect. J'ai lu la documentation de gradle et il ne semble pas qu'un type de retour soit nécessaire. Cependant, les avertissements me dérangent et la seule façon de m'en débarrasser était d'ajouter return true
.
buildTypes {
Android {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
return true
}
}
}
Je doute que ce soit la "bonne" solution; cependant, il supprime les avertissements et ne pose aucun problème.
J'ai corrigé cela en ajoutant la chaîne de suppression recommandée lors de l'inspection:
//noinspection GroovyMissingReturnStatement
Android {
compileSdkVersion 25
buildToolsVersion "23.0.3"
...
Je me suis débarrassé de cet avertissement lorsque j'ai spécifié les deux, minifyEnabled
et shrinkResources
.
buildTypes {
debug {
minifyEnabled false
shrinkResources false
}
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
}
}
Il semble que ce problème soit résolu dans Android Studio 2.3: