web-dev-qa-db-ja.com

dexを実行できません:EclipseでGCオーバーヘッド制限を超えました

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-Xmx384mEclipse.iniを変更する必要があると述べました。 Dalvik形式への変換に失敗しました:dexを実行できません:Javaヒープスペース
プロジェクトをクリーンアップしてEclipseを再起動しましたが、役に立ちませんでした。

このリンクを見つけました: Android開発者へのヒント:「Dalvik形式への変換に失敗しました:dexを実行できません:null」 しかし、私はしません私のプロジェクトのどの.jarで入力を変更するかを知っています。誰かが助けてくれるなら、私は彼らにプロジェクトを送ることができます。

209
DavyJonesUA

Eclipse.iniのVM値を変更することで修正できます。以下のように、値を512および1024に設定します。

openFile
--launcher.XXMaxPermSize
512M
-showsplash
org.Eclipse.platform
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms512m
-Xmx1024m

画像の変更された領域 enter image description here

436
user1457659

私のために次の手順が働いた

1) Open Eclipse.ini file
2)changed
-Xms40m
-Xmx512m
to 
-Xms512m
-Xmx1024m

3)Restart Eclipse

こちらを参照

24

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
7
Roadies

非常に頻繁に開くため、Android XMLが原因でこの問題が発生したと仮定します。

StackOverFlowに関する次の2つの問題は、相互に解決されます。

EclipseでAndroid XMLファイルをクリックするたびに、すべてのAPIバージョンのデータがロードされます

そして

dexを実行できません:GCオーバーヘッド制限を超えました

VM値を増やすか、古いADTバージョン(22.6.2または23.2)にダウングレードする以外に、この問題を解決するためにもう1つの解決策を見つけました。

注意:

開くたびにXMLをロードしない古いADTバージョンの一部であるため、これを引き起こすメモリオーバーフローはありませんGCオーバーヘッド制限を超えています最初のスレッド

解決策:

Eclipseの下部には、ガベージコレクターを実行を示すゴミ箱のシンボルがあります。 AndroidのXMLファイルを閉じるたびに、ゴミ箱またはガベージコレクターの実行をクリックしてメモリを解放することを忘れないでください。この方法で、この種のエラーのクラッシュからワークスペースを保護できます:D

VM XMLを非常に頻繁に開く場合、特に多くの操作を行う場合は、RAM値をAndroid制限を超えて増やすことはできないため、これは究極のソリューションになります。 UIの私のように動作します:P

これがこのスレッドに来るすべての人に役立つことを願っています:)

冷静さとコードを維持

5
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)
1
anand krish

私はこの回避策の背後にある理由を知りませんが、上記のすべてがそうでないとき、それは私のために常に機能します。

ショートカットまたはリンクからEclipseを起動しないでください。常にEclipseフォルダーのEclipse.exeから開きます。これはEclipse.iniを保持するまさにそのフォルダーです

注-Linuxのみで試しました。

1
Atul O Holic

12時間後にこのエラーが発生し、Eclipse.iniファイルの変更に成功しなかった後、最終的に正しい解決策を見つけました。私の環境変数には、値「-Xmx512M」を含む「_Java_OPTIONS」という名前の変数がありました。この値をEclipse.iniと同じ値に変更する(-Xmx4096M)プロジェクトをAPKファイルにエクスポートできるようになりました。

1
Viktor

この厄介なメッセージを回避するには、次のように構成を変更する必要がありました。

-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
Elenasys

これらの答えが機能しない場合(私には役に立たなかった)、これを試してください:

1)ワークスペースで.metadataフォルダーのコピーを作成します。

2)コピーを作成した後、.metadataディレクトリを削除します

3)Eclipseを開き、Eclipseを閉じます。

4)古い.metadataから新しい.metadataにプラグインフォルダーをコピーします

5)すべてのプロジェクトをワークスペースにインポートして戻す

6)落ち着いてコードをオンにしてください!

0
tricknology