Setelah perubahan ke sumber dan membangun dengan gradle di Android Studio (pratinjau I / O) AI - 130.677228, build gagal dengan kesalahan berikut:
Gradle:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileDebugAidl'.
> No signature of method: com.android.ide.common.internal.WaitableExecutor.waitForTasks() is applicable for argument types: () values: []
Possible solutions: waitForAllTasks()
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Could not execute build using Gradle distribution 'http://services.gradle.org/distributions/gradle-1.6-bin.zip'.
Kedua kalinya menjalankan build, build akan berhasil.
Menggunakan pembungkus gradle dengan versi 1.6
Ini benar-benar menyebalkan karena melakukan build yang panjang (non-incremental) setelah gagal pertama kali.
Apakah ada cara untuk tidak mengalami kegagalan ini?
EDIT untuk menyertakan build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'
task wrapper(type: Wrapper) {
gradleVersion = '1.6'
}
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
android {
compileSdkVersion "Google Inc.:Google APIs:17"
buildToolsVersion "17"
defaultConfig {
minSdkVersion 11
targetSdkVersion 17
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
instrumentTest.setRoot('tests')
}
}
Tautan ke masalah di Google Code: https://code.google.com/p/android/issues/detail?id=56158
Saya tidak yakin bagaimana hal ini bisa terjadi. Sepertinya Anda memiliki ketidakcocokan antara plugin Gradle itu sendiri dan dependensinya yang menyediakan kelas WaitableExecutor.
Namun Anda menyebutkan Gradle 1.5 dan ini adalah masalah.
Plugin versi 0.3 kompatibel dengan Gradle 1.3-1.4 Versi baru yang dirilis minggu lalu, 0.4 kompatibel dengan Gradle 1.6+
Pastikan Anda menggunakan 0.4 dan versi Gradle yang baru.
Tambahkan:
compileSdkVersion 17
ke file buid.gradel Anda (di bawah).
Dan gunakan versi 3 dari plugin: com.android.tools.build:gradle:0.3
(atau lebih tinggi untuk pertanyaan di masa depan, dll)
Edit: proyek referensi yang baru saja saya buat. Build, tanda, dll https://github.com/yegdroid/gradle_demo
// // Aplikasi Android dasar yang mengikuti semua konvensi // buildscript { repositori { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.3' } } terapkan plugin: 'android'android { testBuildType = "debug"
defaultConfig { versionCode = 1 versionName = "0.1" minSdkVersion = 9 targetSdkVersion = 17 compileSdkVersion 17 buildConfig "private final static boolean DEFAULT = true;", \ "private final static String FOO = \"foo\";" } buildTypes { debug { packageNameSuffix = ".debug" buildConfig "private final static boolean DEBUG2 = false;" } } aaptOptions { noCompress "txt" } sourceSets { main { manifest { srcFile 'AndroidManifest.xml' } java { srcDir 'src' } res { srcDir 'res' } assets { srcDir 'assets' } resources { srcDir 'src' } } }
}