エラー:
Gradle: Execution failed for task ':vertretungsplan:dexDebug'.
> Failed to run command:
P:\Android-Studio\sdk\build-tools\18.0.1\dx.bat --dex --output P:\Projekte\VertretungsplanProject\vertretungsplan\build\libs\vertretungsplan-debug.dex P:\Projekte\VertretungsplanProject\vertretungsplan\build\classes\debug P:\Projekte\VertretungsplanProject\vertretungsplan\build\dependency-cache\debug P:\Android-Studio\sdk\extras\Android\m2repository\com\Android\support\support-v4\18.0.0\support-v4-18.0.0.jar P:\Projekte\VertretungsplanProject\vertretungsplan\libs\commons-io-2.4.jar P:\Projekte\VertretungsplanProject\vertretungsplan\build\exploded-bundles\VertretungsplanProjectLibrariesActionbarsherlockUnspecified.aar\classes.jar
Error Code:
2
Output:
trouble processing:
bad class file magic (cafebabe) or version (0033.0000)
...while parsing de/MayerhoferSimon/Vertretungsplan/LoginActivity$2.class
...while processing de/MayerhoferSimon/Vertretungsplan/LoginActivity$2.class
trouble processing:
bad class file magic (cafebabe) or version (0033.0000)
...while parsing de/MayerhoferSimon/Vertretungsplan/MainActivity$1.class
...while processing de/MayerhoferSimon/Vertretungsplan/MainActivity$1.class
trouble processing:
bad class file magic (cafebabe) or version (0033.0000)
...while parsing de/MayerhoferSimon/Vertretungsplan/YQL/YqlVplanParser.class
...while processing de/MayerhoferSimon/Vertretungsplan/YQL/YqlVplanParser.class
3 warnings
UNEXPECTED TOP-LEVEL EXCEPTION:
com.Android.dx.util.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;
at com.Android.dx.merge.DexMerger.readSortableTypes(DexMerger.Java:592)
at com.Android.dx.merge.DexMerger.getSortedTypes(DexMerger.Java:550)
at com.Android.dx.merge.DexMerger.mergeClassDefs(DexMerger.Java:531)
at com.Android.dx.merge.DexMerger.mergeDexBuffers(DexMerger.Java:168)
at com.Android.dx.merge.DexMerger.merge(DexMerger.Java:186)
at com.Android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.Java:300)
at com.Android.dx.command.dexer.Main.run(Main.Java:232)
at com.Android.dx.command.dexer.Main.main(Main.Java:174)
at com.Android.dx.command.Main.main(Main.Java:91)
プロジェクト構造:
build.gradle(actionbarsherlock)
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.Android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'Android-library'
dependencies {
compile 'com.Android.support:support-v4:18.0.0'
}
Android {
compileSdkVersion 18
buildToolsVersion "18.0.1"
defaultConfig {
minSdkVersion 8
targetSdkVersion 11
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
Java.srcDirs = ['src']
resources.srcDirs = ['src']
res.srcDirs = ['res']
}
}
}
build.gradle(vertretungsplan)
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.Android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'Android'
dependencies {
compile files('libs/commons-io-2.4.jar')
compile project(':libraries:actionbarsherlock')
}
Android {
compileSdkVersion 18
buildToolsVersion "18.0.1"
defaultConfig {
minSdkVersion 8
targetSdkVersion 11
}
}
settings.gradle
include ':vertretungsplan', ':libraries:actionbarsherlock'
このエラーを修正するにはどうすればよいですか?
正しい答えは、jarファイルの一部がコンパイルされないことです。プロジェクトのbuild.gradleファイルに移動し、依存関係を確認する必要があります。
Jarファイルをインポートするだけの場合は、それらを削除して、一度に1つずつ追加してみてください。これは、エラーの原因の1つを判別するのに役立ちます。
私の場合、私はそれをやっただけで、最後のものをインポートしていたときに、アプリがコンパイルされました。本当の問題は、一度にインポートしすぎていたことだと思います。しかし、今ではすべてが機能します。
注目すべき変更がなかった後、私は突然同じ問題に直面しました。
app/build
ディレクトリを削除して解決し、gradleにプロジェクト全体を新しくビルドさせました。
同じJARが再度インポートされているかどうかを確認する必要があります。私の場合、別のjarにインポートされていたjar内のクラスがありました。したがって、プロジェクト全体にlib /クラスファイルが2回含まれているかどうかを確認してください。
私も同じ問題を抱えていました。私の場合、問題は再起動後に始まりました。アプリを閉じ、Android Studio(私の場合はV1.1.0)を閉じ、最後に通常のシャットダウンを行いました。その後、1つのJavaファイルを変更してRadioGroupオブジェクトを追加すると、問題が発生しました。
問題の根本的な原因はGradle実行プロセスで生成されたため、Gradle構成ファイルの「1」を「1」に変更するだけで問題を解決しました。以前は、バージョン '1.0.0'を使用していたので、写真に記載されているように '1.1.0'に変更しました。
Gradle構成の場所が変更されました
適切なバージョンを取得した場所(ファイル->設定-> Gradle->実験的
Java JRE 1.8を使用してEclipseでutilsライブラリjarをコンパイルし、Android Studio 1.1.0の/ libs /で使用しようとすると、同じ種類のエラーが発生しました。
JDK1.8.0を使用するようにAndroid Studioを設定しました。
EclipseをJRE 1.7で動作するように切り替えたところ、エラーが修正されました。 Eclipse:ウィンドウ->設定-> Javaタブ->コンパイラ->コンプライアンスレベル1.7ほとんどの場合、JREシステムライブラリをjdk1.7.x_xに切り替えるように求められます。
エクスポートするときは、「圧縮jar」のチェックを外す必要があります。効果があるかどうかはテストしていません。私はそれが関連していたとは思わない。
問題はExecution failed for task ':dexDebug'
についてではありません
赤で表示されたエラーの上を見ると、これが表示されます
この問題を永続的に解決するには、これらの行をbuild.gradle
ファイルに追加するだけです
Android {
dexOptions {
jumboMode = true
}
}
詳細については、次の質問を確認してください。 here
Android STUDIOユーザーこれを試してください:-
Gradleファイルの依存関係に次を追加する必要があります。
compile 'com.Android.support:multidex:1.0.0'
そして、以下の行(multidexサポートアプリケーション)をマニフェストのapplication
タグに追加します:
Android:name="Android.support.multidex.MultiDexApplication"
AndroidManifestファイルのマニフェストノードにパッケージ名が含まれていることを確認してください。パッケージ名を設定すると、この問題は修正されました。
追加することでこれを修正できます
compile 'com.Android.support:support-v4:18.0.0'
vertretungsplan build.gradleの依存関係にコンパイルし、この行を削除して、再度コンパイルします。
今では動作します
サポートライブラリとappcompatの両方を使用しようとしたため、この問題が発生しました。
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile 'com.Android.support:support-v4:23.1.0'
compile 'com.Android.support:appcompat-v7:23.1.1'
compile 'com.Android.support:design:23.1.1'
compile 'com.google.Android.gms:play-services:8.3.0'
}
サポートライブラリを削除して古いバージョンに変更した後、コンパイルしました。
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
/*compile 'com.Android.support:appcompat-v7:23.1.1'
compile 'com.Android.support:design:23.1.1'*/
compile 'com.Android.support:appcompat-v7:22.2.0'
compile 'com.Android.support:design:22.2.0'
compile 'com.google.Android.gms:play-services:8.3.0'
}
私は同じ問題を抱えていました、あなたはすべきです:
File -> Invalidate Caches / Restart
2つの互換性のない依存関係がありました。
以下の依存関係によりエラーが発生しました。
compile 'com.google.Android.gms:play-services-fitness:8.3.0'
compile 'com.google.Android.gms:play-services-wearable:8.4.0'
フィットネスの依存関係をバージョン8.4.0に変更することで、アプリを実行できました。
compile 'com.google.Android.gms:play-services-fitness:8.4.0'
compile 'com.google.Android.gms:play-services-wearable:8.4.0'
私は同じ問題に直面しました。これを行うことで解決しました。 actionbarsherlock-> module settings-> dependenciesに移動します。サポートv4ライブラリを削除します。左下にプラスボタンがあり、そこから1 Library Dependency(Select support-v4)を追加します。完了したら、gradleでプロジェクトの再同期とクリーンを行います。
Dagger
またはButterknife
も使用している場合、クラスパスのようなbuild.gradle
メインファイルに依存関係としてguavaを追加する必要があります。
com.google.guava:guava:20.0
一方、Gradleデーモンのヒープが大きくなる問題がある場合は、radle
ファイルへの追加を増やすことができます。
dexOptions {
javaMaxHeapSize "4g"
}
ここでの回答の多くは、重複する依存関係を見つけるための試行錯誤ですが、Execution failed for task ':app:dexDebug'.
行から少し上にスクロールすると、重複のヒントが得られます
私の場合、次のエラーが発生しました。
UNEXPECTED TOP-LEVEL EXCEPTION:
com.Android.dex.DexException: Multiple dex files define L/com/parse/AbstractQueryController$1;
...
...
...
Execution failed for task ':app:dexDebug'.
したがって、このバグを修正するには、parse.AbstractQueryController
を定義する重複する依存関係を見つける必要があることを知っていました。
私の場合、2つの異なるParseライブラリにロードされている2つのインポートされたモジュールがありました。プロジェクトを1つだけロードすると、問題が修正されました。
理由は、Eclipse IDEからインポートした後にライブラリが重複する可能性があります。
dependencies {
compile 'com.github.japgolly.Android:svg-Android:2.0.5'
compile 'com.google.Android.gms:play-services:+'
compile 'com.Android.support:appcompat-v7:21.0.3'
compile files('libs/androidannotations-api-2.7.1.jar')
compile files('libs/androidasync-2.1.2.jar')
//compile files('libs/google-play-services.jar')
compile files('libs/universal-image-loader-1.8.2.jar')}
コメントの後、私は同じ問題を抱えていました:
//compile files('libs/google-play-services.jar')
アプリはエラーを取得しません。
Android StudioとmircrosoftのWebブラウザーへのアップグレードで非常に興味深い問題が見つかりました。 ieの最新バージョンに「愚かに」アップグレードしました。もちろん、マイクロソフトは無限の知恵でセキュリティをどうするかを正確に知っています。アプリをコンパイルしようとしたときに、Gradle-ビルドが失敗しました-タスクの実行が失敗しました。スタックを見ると、Java.exeへのパスが認識されないことがわかりました。前日コンパイルすることができたので、私はその奇妙なことに気づきました。システムのenv変数にJava_HOMEを追加し、Android Studioを閉じて再度開きました。低く、すべてのjave.exeを通過させたいかどうかを確認するために防火壁のナグスクリーンがポップアップしなかった場合は、見よ。
なんてクラスタ!
(あなたの問題はより具体的であるように見えるので、これは間違ったスレッドかもしれませんが、問題のキーワードを検索するときに見つけたスレッドです)
すべての良いヒントにもかかわらず、私を助けた唯一のもの、そして他のすべてがうまくいかない場合に備えて、共有したいと思います:
ホームディレクトリの。gradleディレクトリを削除し、Android Studioによって再構築/再ダウンロードします。
Android Studio自体もSDKも再インストールしても修正できないという、あらゆる種類の奇妙なエラーを修正しました。
また、クラスファイルの1つのパッケージのスペルが間違っているときに、このエラーに遭遇しました。これらの回答の多くはすぐにJarファイルにジャンプしますが、パッケージのスペルが正しいことも確認します。
私の場合、Build > Clean Project
を実行しましたが、うまくいきました!