Помилка перетворення у формат Dalvik: Неможливо виконати dex: простір купи Java


79

Я додав файл jar розміром 2,45 Мб до свого проекту затьмарення Android, і тепер я продовжую отримувати повідомлення "Не вдалося перетворити формат Dalvik: Неможливо виконати dex: Простір купи Java" незалежно від того, що я роблю.

Я досліджував в Інтернеті, і мені було повідомлено про оновлення мого eclipse.ini, щоб збільшити мій куп Java VM. Я зробив це для всіх значень у eclipse.ini, і я продовжую отримувати помилку збірки.

Будь-які ідеї?


Чи можете ви розмістити рядки, які ви додали до затемнення?
CRM

-startup plugins / org.eclipse.equinox.launcher_1.1.0.v20100507.jar --launcher.library plugins / org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810 -product org.eclipse.epp.package .java.product --launcher.defaultAction OpenFile --launcher.XXMaxPermSize 512M -showsplash org.eclipse.platform --launcher.XXMaxPermSize 512m --launcher.defaultAction OpenFile -vmargs -Dosgi.requiredJavaVersion = 1,5 -Xms512m -Xmx512m
AndroidPlaya

Я теж маю записи -data @noDefault у своєму ініціаліві: я спробував додати різні коди, включаючи -Xms512m -Xmx512m та -vmargs -Xms512m -Xmx512m у різні перестановки за допомогою цих двох рядків. також є пропозиції щодо додавання ще близько 20 рядків коду, які я також спробував. комусь потрібно опублікувати ПОВНІ рядки коду, необхідні в exclipse.ini, зверху вниз, і чи потрібно налаштовувати будь-які шляхи до файлу в доданому коді, які будуть різними для різних конфігурацій
Androidcoder

Я також спробував запустити з командного рядка з eclipse -vmargs -Xms512m -Xmx512m, який не працював
Androidcoder

Відповіді:


209

Змініть параметри -XmsAmта -XmxBmпараметри eclipse.iniтак, щоб вони були досить великими. За замовчуванням -Xms40m -Xmx384m. Спробуйте змінити їх обидва на -Xms512m -Xmx512mі перезапустіть eclipse, щоб перевірити, чи це допомагає. Якщо ні, продовжуйте збільшувати значення та перезапустіть eclipse, доки не станеться одна з двох речей:

  1. Ваша збірка завершена.
  2. Eclipse не перезапуститься, оскільки у вас недостатньо пам'яті.

eclipse.iniзнаходиться за адресою /etc/eclipse.iniв Ubuntu (за умови, що ви встановили Eclipse із сховищ Ubuntu).

Щодо MAC див.

Знайти eclipse.ini трохи складно. Щоб знайти його, клацніть правою кнопкою миші на піктограмі програми Eclipse та виберіть "Показати вміст пакета", потім двічі клацніть на папці "Зміст", а потім двічі клацніть на папці "MacOS", будинку eclipse.ini

https://confluence.sakaiproject.org/pages/viewpage.action?pageId=61341742


8
На цій сторінці описано, як знайти eclipse.ini на mac.
JohnnyLambada

7
У Windows він сидить поруч eclipse.exe, куди б ви його не поставили.
Cheezmeister

1
Єдині записи, які я маю - це -data @noDefault Будь ласка, порадьте
Рой Хінклі

@JohnnyLambada Привіт, Джоні! Я додав файл розміром 7 Мб і змінив змінну xms до 1024 м. Але зараз я отримую цю помилку Не вдалося перетворити формат Dalvik з помилкою 1
Gaurav Arora

1
Прапор Xmx визначає максимальний пул розподілу пам'яті для віртуальної машини Java (JVM), тоді як Xms визначає початковий пул виділення пам'яті відповідно до цієї відповіді SO.
JohnnyLambada

20

Іноді перевірка бібліотеки .jar у властивостях проекту також викликає цю проблему. У такому випадку спробуйте наступне:

Right click your project. 
Go to Properties -> Java Build Path -> Order and Export.
Uncheck the check box against your included library. 
Press OK and run the project.

При цьому Eclipse буде брати з класу лише ті класи, які потрібні в коді, замість того, щоб зберігати всі класи з jar.


5
Якщо зняти прапорець біля бібліотеки з пункту "Замовити та експортувати", "ClassNotFoundException" буде викинуто під час доступу до класу з цієї бібліотеки з коду. Бібліотеку (и) слід експортувати.
Vaishak Nair

Так Thats правильно, я отримую помилку Java Heap, коли я Неконтрольований все бібліотеки, вона виконує , але додаток збій на пристрої, будь ласка , допоможіть мені ..
AK Joshi

0

Усі наведені вище відповіді ідеальні, але ви можете спробувати ще одну річ, і це швидко і просто, закрийте всі свої непотрібні відкриті проекти в робочій області Eclipse, а потім перезапустіть Eclipse.

Ви також можете збільшити параметри -XmsAm та -XmxBm у eclipse.ini.


Я стикаюся з тією ж проблемою, я також намагався, розмір пам'яті змінюється. Але проблема не вирішена. Нарешті, я зробив, Провідник проекту -> клацніть правою кнопкою миші -> Maven -> оновіть проект. Мою проблему вирішено. Після того, як я взяв останню оплату, мені слід оновити Maven. Але я помилився.
Нд

@Ravi як ти вирішуєш помилку, дай мені знати також.
Сандіп Лонд,

0

Перейдіть до властивостей проекту та видаліть додані бібліотеки з Java Build Path, натисніть OK, а потім знову додайте їх. Я також зіткнувся з цією проблемою. Завдяки цьому я вирішив цю проблему.


Це справді спрацювало для мене із затемненням ADT @AndroidHacker
noman404

-1

Важливе доповнення:

Рішення не працювало в моїй Windows (ймовірно, проблеми з розподілом пам’яті), але добре працювало в Linux на тій же машині. Отже, встановлення іншої ОС допомогло б вам або перевстановити Windows.


Просто перевстановив My OS .. не працював. Також на всякий випадок замінив мою материнську плату і купив новий жорсткий диск, який теж не спрацював.
Kapitein Witbaard
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.