web-dev-qa-db-ja.com

Android Studio 2.1バイトコードのdexへの変換エラー

Android studioを2.0から2.1に更新したため、次のエラーが発生します。

エラー:バイトコードをdexに変換中にエラーが発生しました:

原因:Dexはバージョン52バイトのコードを解析できません。これは、Java 8以上を使用してコンパイルされたライブラリの依存関係が原因です。ライブラリサブモジュールで 'Java' Gradleプラグインを使用している場合は、targetCompatibility = '1.7' sourceCompatibility = '1.7'を追加してください。そのサブモジュールのbuild.gradleファイルに。

Build.gradleに次のスニペットを追加してみましたが、それでも問題は解決しません

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

私はこれに似た質問をいくつか見ましたが、どちらの質問にも答えられませんでした。誰かがこれを解決するのを手伝ってくれる?前もって感謝します。

10
Suresh Kumar

試す

allprojects {
    tasks.withType(JavaCompile) {
        sourceCompatibility = "1.7"
        targetCompatibility = "1.7"
    }
}

概して build.gradleファイル

33
sbeliakov

Build.gradleから依存関係を削除し、関連するコードにコメントを付けて、プロジェクトをコンパイルおよびクリーンアップします。

クリーンアップが正常に完了したら、依存関係を再度追加し、依存関係を以前に削除した後にコメントを外します。

Android:Dexはバージョン52バイトコードを解析できません の重複の可能性があります。最も引用された答えが私のために問題を解決しました。
JDK 1.8を使用するために、buildOptionsにbuildOptionsとjackOptionsを追加しました。

Android {
    ...
    defaultConfig {
        ...        
        jackOptions {
            enabled true
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}
1
Matteo Milesi