Gitプロジェクト OsmAnd をダウンロードしてコンパイルしようとすると、Eclipseは次のエラーを返しました。
[Dex Loader] Unable to execute dex: GC overhead limit exceeded
[OsmAnd] Conversion to Dalvik format failed:
Unable to execute dex: GC overhead limit exceeded
GoogleとStackoverflowは、-Xms40m
の-Xmx384m
Eclipse.ini
を変更する必要があると述べました。 Dalvik形式への変換に失敗しました:dexを実行できません:Javaヒープスペース 。
プロジェクトをクリーンアップしてEclipseを再起動しましたが、役に立ちませんでした。
このリンクを見つけました: Android開発者へのヒント:「Dalvik形式への変換に失敗しました:dexを実行できません:null」 しかし、私はしません私のプロジェクトのどの.jar
で入力を変更するかを知っています。誰かが助けてくれるなら、私は彼らにプロジェクトを送ることができます。
Eclipse.iniのVM値を変更することで修正できます。以下のように、値を512および1024に設定します。
openFile
--launcher.XXMaxPermSize
512M
-showsplash
org.Eclipse.platform
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms512m
-Xmx1024m
画像の変更された領域
私のために次の手順が働いた
1) Open Eclipse.ini file
2)changed
-Xms40m
-Xmx512m
to
-Xms512m
-Xmx1024m
3)Restart Eclipse
Eclipse.iniこのように見えます。
-startup
plugins/org.Eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.Eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140116-2212
-product
org.Eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.Eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
-Xmx1024m
非常に頻繁に開くため、Android XMLが原因でこの問題が発生したと仮定します。
StackOverFlowに関する次の2つの問題は、相互に解決されます。
EclipseでAndroid XMLファイルをクリックするたびに、すべてのAPIバージョンのデータがロードされます
そして
VM値を増やすか、古いADTバージョン(22.6.2または23.2)にダウングレードする以外に、この問題を解決するためにもう1つの解決策を見つけました。
注意:
開くたびにXMLをロードしない古いADTバージョンの一部であるため、これを引き起こすメモリオーバーフローはありませんGCオーバーヘッド制限を超えています最初のスレッド
解決策:
Eclipseの下部には、ガベージコレクターを実行を示すゴミ箱のシンボルがあります。 AndroidのXMLファイルを閉じるたびに、ゴミ箱またはガベージコレクターの実行をクリックしてメモリを解放することを忘れないでください。この方法で、この種のエラーのクラッシュからワークスペースを保護できます:D
VM XMLを非常に頻繁に開く場合、特に多くの操作を行う場合は、RAM値をAndroid制限を超えて増やすことはできないため、これは究極のソリューションになります。 UIの私のように動作します:P
これがこのスレッドに来るすべての人に役立つことを願っています:)
冷静さとコードを維持
1) Open Eclipse.ini file
2)change
-Xms40m
-Xmx512m
to
-Xms512m
-Xmx1024m
3)Restart Eclipse
同じEclipse.iniファイルは、Eclipseの次のようなEclipse自体のルートパスにあります。
C:\Users\username\Downloads\adt-bundle-windows-x86_64-20140702\Eclipse\eclipse.ini
同じファイルがAndroid studioプロジェクトに配置されます:-
C:\Users\username\AppData\Local\Android\sdk\tools\lib\monitor-x86_64\monitor(Type:Configuration settings)
私はこの回避策の背後にある理由を知りませんが、上記のすべてがそうでないとき、それは私のために常に機能します。
ショートカットまたはリンクからEclipseを起動しないでください。常にEclipseフォルダーのEclipse.exe
から開きます。これはEclipse.ini
を保持するまさにそのフォルダーです
注-Linuxのみで試しました。
12時間後にこのエラーが発生し、Eclipse.iniファイルの変更に成功しなかった後、最終的に正しい解決策を見つけました。私の環境変数には、値「-Xmx512M」を含む「_Java_OPTIONS」という名前の変数がありました。この値をEclipse.iniと同じ値に変更する(-Xmx4096M)プロジェクトをAPKファイルにエクスポートできるようになりました。
この厄介なメッセージを回避するには、次のように構成を変更する必要がありました。
-startup
plugins/org.Eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.Eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20120913-
144807
-product
com.Android.ide.Eclipse.adt.package.adtproduct
-showsplash
org.Eclipse.platform
--launcher.XXMaxPermSize
1024m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms512m
-Xmx1024m
正しいとマークされた回答に基づいて、変化する
-XX:MaxPermSize=256m
-Xms512m
-Xmx1024m
そして:
--launcher.XXMaxPermSize
1024m
これらの答えが機能しない場合(私には役に立たなかった)、これを試してください:
1)ワークスペースで.metadataフォルダーのコピーを作成します。
2)コピーを作成した後、.metadataディレクトリを削除します
3)Eclipseを開き、Eclipseを閉じます。
4)古い.metadataから新しい.metadataにプラグインフォルダーをコピーします
5)すべてのプロジェクトをワークスペースにインポートして戻す
6)落ち着いてコードをオンにしてください!