Android Studio 2.1 にアップグレードしましたが、企業の大きなプロジェクトをビルドして実行しようとしているときに次のエラーが発生しました。
タスク ':app:transformClassesWithDexForMyAppDebug' の実行に失敗しました。com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC オーバーヘッド制限を超えました
フォーラムを検索し、インスタント実行を無効にしました。また、build.gradle に書き込みます。
dexOptions {
incremental true
javaMaxHeapSize "6g"
}
...
dependencies{
compile 'com.android.support:multidex:'
}
しかし、それは私の問題を解決しませんでした。マルチデックスがないとエラーが発生するため、グラドルでマルチデックスを有効にしています。
com.android.dex.DexIndexOverflowException: メソッド ID が [0, 0xffff] にありません: 65536
これはその解決策であり、以前のバージョンの Android Studio (Android Studio 1.4-2.0 を使用している社内の他のユーザーにも機能していました) では機能していましたが、Android Studio をアップグレードして以来、私には機能しませんでした。
誰が問題を引き起こす可能性があるか考えていますか?
また興味深いのは、プロジェクトを作成しただけでは、実行しようとした場合にのみエラーが発生しないことです。どんなアイデアでも大歓迎です!
編集1:
また興味深いのは、Androidスタジオを再起動すると、最初の実行は成功しますが、2回目は成功しないことです。
編集2:
ヒープ サイズを (8 ~ 10 g のように) 大きく設定すると、アプリは最初の実行時にコンパイルされません。
編集3:
問題はInstant runにあるようです.androidスタジオに強制的に使用させないようにすると(一度に2つのデバイスにデプロイするか、答えのようにgradle.propertiesを変更するなど)、エラーが消えます。