84

エラー:

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 (アクションバーシャーロック)

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'

このエラーを修正するにはどうすればよいですか?

4

22 に答える 22

15

同じ JAR が再度インポートされているかどうかを確認する必要があります。私の場合、jar 内に別の jar にインポートされるクラスがありました。したがって、lib / class ファイルがプロジェクト全体に 2 回含まれているかどうかを確認してください。

于 2013-10-20T06:38:55.197 に答える
4

私も同じ問題を抱えていました。私の場合、問題は再起動後に始まりました。アプリを閉じてから、Android Studio (私の場合は V1.1.0) を閉じ、最後に通常のシャットダウンを行いました。その後、1 つの Java ファイルを変更して RadioGroup オブジェクトを追加すると、問題が発生しました。

問題の根本原因は Gradle 実行プロセスで生成されたため、Gradle 構成ファイルで単純な「0」を「1」に変更するだけで問題を解決しました。以前はバージョン「1.0.0」を使用していましたが、写真に記載されているように「1.1.0」に変更しました。

Gradle 構成の場所が変更されました Gradle 構成の場所が変更されました

正しいバージョンを取得した場所 (ファイル -> 設定 -> Gradle -> 実験的) 正しいバージョンを取得した場所 (ファイル -> 設定 -> Gradle -> 実験的)

于 2015-03-25T21:25:39.373 に答える
4

問題はExecution failed for task ':dexDebug'

赤で表示されたエラーの上を見ると、これが表示されます

ここに画像の説明を入力

この問題を永久に解決するには、build.gradleファイルに次の行を追加するだけです

android {
    dexOptions {
        jumboMode = true
    }
}

詳細については、この質問を確認してください:こちら

于 2015-09-28T20:07:56.507 に答える
4

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 に切り替えるように求められます。

エクスポートするときは、'compress jar' のチェックを外す必要があるかもしれません。効果があるかどうかはテストしていません。関係があったとは思えません。

于 2015-03-12T17:32:31.250 に答える
3

AndroidManifest ファイルのマニフェスト ノードにパッケージ名が含まれていることを確認してください。パッケージ名を設定すると、この問題が解決されました。

于 2014-01-10T13:56:15.040 に答える
2

追加することでこれを修正できます

compile 'com.android.support:support-v4:18.0.0'

vertretungsplan build.gradle の依存関係に対して、コンパイルしてから、この行を削除して再度コンパイルします。

今それは動作します

于 2013-08-03T01:19:25.633 に答える
1

私は同じ問題を抱えていました。

File -> Invalidate Caches / Restart

于 2015-10-22T13:25:30.343 に答える
1

サポート ライブラリと 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'
}
于 2015-11-17T12:28:57.817 に答える
1

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'
于 2016-01-21T04:32:56.370 に答える
0

私の場合、私はそうしましたBuild > Clean Project、そしてそれはうまくいきました!

于 2015-10-04T14:35:37.013 に答える
0

クラス ファイルの 1 つのパッケージのスペルが間違っている場合にも、このエラーが発生しました。これらの回答の多くはすぐに Jar ファイルにジャンプしますが、パッケージのスペルが正しいことも確認します。

于 2015-11-02T16:20:07.113 に答える
0

Android Studio と mircrosoft の Web ブラウザへのアップグレードに関して、非常に興味深い問題を発見しました。「ばかげて」IEの最新バージョンにアップグレードしました。もちろん、マイクロソフトはその無限の知恵により、セキュリティをどうするかを正確に知っています。アプリをコンパイルしようとすると、Gradle - build fails -- Execution failed for task というエラーが表示され続けました。スタックを調べてみると、java.exe へのパスが認識されていませんでした。前日にコンパイルできたばかりだったので、それは奇妙だと思いました。システムの環境変数に JAVA_HOME を追加し、Android Studio を閉じて再度開きました。すべての java.exe を通過させたいかどうかを尋ねるファイアウォールのナグ画面が表示されなかった場合は、よく見てください。

何というクラスターでしょう!

于 2014-06-21T17:40:01.533 に答える
0

原因は、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')

アプリにエラーはありません。

于 2015-04-08T13:43:02.407 に答える
0

(問題がより具体的に見えるため、これは間違ったスレッドである可能性がありますが、問題のキーワードを検索したときに見つけたスレッドです)

すべての良いヒントにもかかわらず、私を助けた唯一のことであり、他のすべてがうまくいかない場合に備えて共有したいと思います:

ホーム ディレクトリの.gradleディレクトリを削除し、Android Studio で再ビルド/再ダウンロードします。

Android Studio自体もSDKも再インストールしても修正できなかった、あらゆる種類の奇妙なエラーを修正しました。

于 2015-01-27T14:09:07.100 に答える
0

build.gradle に追加するだけです

「com.parse.bolts:bolts-android:1.+」をコンパイルします

「com.parse:parse-android:1.11.0」をコンパイルします

プロジェクトをGradleファイルと同期しますここに画像の説明を入力 が、ライブラリに解析Jarを追加しないでください:) OKK

于 2015-12-25T23:22:44.657 に答える