私のgradleビルドファイルに次の警告があります
すべての実行パスが値を返すわけではありません
このインスペクションは、メソッドの戻りの最後に欠けているグルーヴィーなreturnステートメントを報告します
これはそのファイルのコードです
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'
}
}
誰もがここで問題が何であるか、そしてこの警告を取り除く方法を教えてもらえますか?.
Android Studio 2.2では、return void
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
}
私はこれと同じ警告を受けており、それは間違っていると思います。 Gradleのドキュメントを読みましたが、戻り値の型が必要なようではありません。ただし、警告は私を悩ませ、私がそれを取り除くことができる唯一の方法はreturn true
を追加することでした。
buildTypes {
Android {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
return true
}
}
}
これが「正しい」解決策ではないかと思います。ただし、警告は削除され、問題は発生しません。
検査からの推奨抑制文字列を追加することでこれを修正しました:
//noinspection GroovyMissingReturnStatement
Android {
compileSdkVersion 25
buildToolsVersion "23.0.3"
...
minifyEnabled
とshrinkResources
の両方を指定すると、この警告が表示されなくなりました。
buildTypes {
debug {
minifyEnabled false
shrinkResources false
}
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
}
}
これはAndroid Studio 2.3で修正された問題のようです: