Неустранимая ошибка в среде выполнения Java - PullRequest
25 голосов
/ 30 марта 2010

Я выполняю тестовый пример junit

Я получил следующую ошибку,

A fatal error has been detected by the Java Runtime Environment:

Internal Error (classFileParser.cpp:3174), pid=2680, tid=2688

  Error: ShouldNotReachHere()

  JRE version: 6.0_18-b07

  Java VM: Java HotSpot(TM) Client VM (16.0-b13 mixed mode windows-x86 )

Может ли какой-либо орган предложить решение для разрешения

Ответы [ 12 ]

44 голосов
/ 11 июля 2010

У меня та же проблема, но с большим количеством поиска в Google я нашел ответ! Смотрите эту страницу

Цитата из ссылки:


# An unexpected error has been detected by Java Runtime Environment:
#
#  Internal Error (classFileParser.cpp:2924), pid=5364, tid=6644
#  Error: ShouldNotReachHere
  1. Это потому, что мы используем реализацию заглушки JUnit для Android. Перейдите в «Выполнить» -> «Выполнить от имени» -> «Выполнить конфигурации» еще раз, и в недавно созданной конфигурации JUnit записи начальной загрузки Classpath удалить библиотеку Android
  2. Затем добавьте библиотеку, используя кнопку Advanced ..., и добавьте JRE System Library и JUnit 3
  3. Применить и запустить

Попробуй, у меня это сработало.

3 голосов
/ 06 сентября 2012

Перейти к Запуск от имени -> Запустить конфигурации ... и выберите используемую конфигурацию.
Выберите вкладку Class Path и выберите Записи BootStrap .
Нажмите Advance , затем Добавить библиотеку и выберите Системная библиотека JRE .
Поднимите его и сделайте его первой записью в списке BootstrapEntries.

Применить и запустить ...

3 голосов
/ 30 марта 2010

Вам нужно будет заняться этим с Sun - для меня это похоже на ошибку JVM. Если это воспроизводимо, вы должны иметь возможность запускать Java таким образом, чтобы генерировать больше деталей (например, -вербоз и т. Д.). Если вы можете уменьшить его до минимального значения, которое вызывает ошибку (исходный код всегда помогает!), То это тоже очень далеко.

http://java.sun.com/developer/technicalArticles/bugreport_howto/index.html

http://bugreport.sun.com/bugreport/crash.jsp

Тем временем вы можете попробовать его с другой реализацией JVM (возможно, даже с более ранним уровнем исправлений Sun JRE).

1 голос
/ 18 января 2012

У меня была похожая проблема, я обнаружил, что это связано с тем, что я сгенерировал новое действие с основной записью [] заглушки. Как только я удалил основной [] код из нового шаблона деятельности, ошибка исчезла.

YMMV

1 голос
/ 09 августа 2010

Я только недавно нашел решение этой проблемы, которое было опубликовано devdanke :

"Начиная с 11 июля 2010 года и Android 2.1, я использую обходной путь, чтобы разделить тесты на разные классы. Любые тесты, которые не вызывают API-интерфейсы Android, идут в свои собственные классы. Для каждого из Эти классы я удалил ссылку на Android в их Конфигурации запуска, вкладка Classpath. "

Проблема с настройкой класса за классом невозможна для запуска всех тестов в проекте. Лучше всего создать 2 тестовых проекта с разными наборами библиотек.

Стандартный проект Android JUnit Test можно создать по ссылке , а пример тестового класса выглядит следующим образом:

import android.test.AndroidTestCase;
public class ConverterTest extends AndroidTestCase {
    public void testConvert() {
        assertEquals("one", "one");
    }   
}

Затем проект JUnit Test можно преобразовать из проекта Android JUnit Test, удалив библиотеку Android из пути сборки проекта, добавив JRE System Library и библиотеку JUnit 3, и пример класса теста выглядит следующим образом:

import junit.framework.TestCase;
public class ConverterTest extends TestCase{
    public void testConvert() {
        assertEquals("one", "one");
    }   
}
1 голос
/ 04 июня 2010

Я решил это

  • Выйти из затмения
  • Удалите каталоги bin и gen в вашем проекте
  • Начать затмение
  • Перестройте свой проект
1 голос
/ 30 марта 2010

Другое возможное объяснение: аппаратный сбой. Исключено, если вы можете воспроизвести ошибку на разных машинах.

0 голосов
/ 21 мая 2013

Я не уверен, удалось ли вам найти решение для вашей проблемы или нет, но ваш вопрос только что всплыл, когда я искал решение для той же проблемы, с которой я столкнулся.И я получил одно решение от самого стека, поэтому просто подумал поделиться ссылкой с вами, если это поможет вам каким-либо образом.Ссылка приведена ниже:

Невозможно запустить тестовый пример JUnit 4 в проекте Eclipse Android

0 голосов
/ 13 февраля 2013

Перейти к Run As -> Run Configurations -> classpath-> BootStrap Entries Нажмите «Вперед», затем «Добавить библиотеку» и выберите «Системная библиотека JRE» в качестве первой записи. Применить и запустить ...

0 голосов
/ 30 октября 2011

Другая возможная причина (для будущих ссылок): Я случайно скопировал в свой метод метод main, в результате чего Eclipse распознал проект как приложение Java, запустив его с такой конфигурацией.

Чтобы решить эту проблему, я выбрал «Выполнить»> «Выполнить конфигурации», а затем переключился с предполагаемого основного в Java-приложении на основное действие моего приложения для Android, просто выбрав его в левом столбце.

...