Androidコンパイルエラーの解決:Error:Execution failed for task':app:transformClassesWithDexForDebug'の手順を覚えてください.

1223 ワード

最近TDD開発モデルを研究していますが、棚を組み立てると、コンパイルエラーが発生しています.振り回されてこの問題を解決した.記録して、同じように問題に直面した同窓会に役立つことを望んでいます.PS:このような問題を引き起こす要因はたくさんあります.もし文の中の方法があなたの問題を解決できない場合は、コメントエリアに行って共有している簡友たちの解決策を見ることができます.幸運を祈っています.
エラーの内容は次のとおりです.
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1

わけのわからない間違いは,解決の考えがない.そこでインターネットで検索し、複数の案を参考にしても問題は解決しなかった.
しかし、検索プロセスには収穫があります.
  • テストの便宜上、Androidシステムに依存しないクラスを格納するJava Libraryプロジェクトを新設しました.app/buildに追加します.gradleを依存とする.
  • dependencies {
        ...
        compile project(':core')
    }
    

    この行のコードを削除すると、コンパイルが可能であることがわかり、ライブラリへの依存に問題があることを示します.
  • ソリューションを検索しているうちに、このような問題に遭遇した人の大部分がJDK 1.8バージョンを使用していることに気づきました(私がどのバージョンを使用しているのか、私が使用していない場合はひっくり返してみてください_).これは偶然の現象ではないので,GradleとJDK 1.8の互換性に問題があるのではないかと疑った.プロジェクト依存のJDKバージョンを1.7に下げてみて、再びコンパイルを試みて、成功しました!

  • まとめ:
    Gradleは現在、積極的な開発時期にあり、多くの新しいバージョンの機能が不安定であるため、プロジェクトで使用されているGradleバージョンを慎重に更新することをお勧めします.