Android Studio (I/O preview) AI - 130.677228でソースを変更し、gradleでビルドすると、以下のエラーでビルドに失敗します:
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'.
2回目にビルドを実行すると、ビルドは成功します。
バージョン1.6のgradleラッパーを使う
これは本当に最悪です。1回目のビルドに失敗した後、長いビルド(非インクリメンタル)を実行するからです。
この失敗を起こさない方法はありますか?
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')
}
}
Google Code上の問題へのリンク: https://code.google.com/p/android/issues/detail?id=56158
SDKマネージャーのAndroid SDKビルドツールの最新バージョンと一致するように「build.gr adle」ファイルに「buildToolsVersion」を設定することで、この問題を解決しました。
Build-toolsバージョン22.0.1の表示がインストールされています。!
私の場合、Android SDKビルドツールバージョン 22.0.1 がインストールされているので、それに応じて buildToolsVersion
を設定しました。
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
...
その変更を行った後、私のアプリは問題なく構築されます。
私は同じ問題に直面していました「タスクの実行に失敗しました:compileDebugaidl aidl / debug /」。。
詳細については、Gradle Consoleでさらに詳しく説明しました。
最新のチェック中に、タスク「prepareComAndroidSupportAppcompatV72103Library」の出力ファイルのスナップショットをキャプチャできませんでした。。
エントリ '/ユーザー/を削除できませんでした。.../。../。../。.../ build / intermediates / exploded-aar /com.android.su port / appcompat-v7 / 21.0.3 'from cache outputFileStates.bi n(/ Users /。.../。.../。.../ .gradle / 2.2.1 / taskArtifacts /outputFileStates.bi n)。。
ターミナルから outputFileStates.bi n ファイルを削除して解決し、Gradleが再作成できるようにしました。
それが誰かを助けることを願っています。
加える:
buid.gradel ファイルに compileSdkVersion 17
を追加する(下記)。
そしてプラグインのバージョン3を使う:com.android.tools.build:gradle:0.3`(または、将来の質問などのためにそれ以上)を使用する。
Edit: 先ほど作成した参考プロジェクト。ビルド、サインなど https://github.com/yegdroid/gradle_demo
<pre>; // // すべての規約に従った基本的なAndroidアプリケーション。 // ビルドスクリプト { リポジトリ { mavenCentral() } 依存関係 クラスパス 'com.android.tools.build:gradle:0.3'; } } apply plugin: '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'
}
}
}
} </pre>;
グラドル(エラーフィルター)出力を確認できますか?? (ツールウィンドウのグラドル、グラデーションタブ)。 aidlファイル内の関数に問題があるように見えますが、これは主に外部アプリケーションインターフェイス用です。サービス。 ウィジェットにデータを転送するなど、または2つのアプリケーション間でデータを転送する必要がある場合。 2番目の可能性は、同じ補助構造を持つ2つのライブラリです。1つの関数だけが1つと異なるか、同じライブラリを2回使用しています。 私がこのメッセージで見たもう1つの理由。
これは私のために働きます。 プロジェクトbuild.gr adle で編集します。
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
//delete this line below
classpath 'com.android.tools.build:gradle:1.0.1'
//add this line below
classpath 'com.android.tools.build:gradle:1.2.3'
}
}
不足しているAIDLの何かは、主要なグラデーションの依存関係クラスパスを更新しないためのgoogle androidスタジオの問題です。
修正: -プロジェクトグラデーションファイルを開きます(アプリなし、プロジェクト。 !)。 -交換: classpath 'com.android.tools.build:gradle:1.0.1'または何でも。 と。 classpath 'com.android.tools.build:gradle:1.3.1' 。
前に時間をコンパイルできない場合は、コンパイル可能なプロジェクト、グーグル猫&犬は寝ておらず、彼らは変更や更新を行っているので、目を覚まして、忘れた場所で変更を行う必要があります。 そして、 ⁇ 配は非常に不安定なプロジェクトであり、バギーです。