Fatal error by Java runtime environment

前端 未结 12 2131

I am executing a junit test case

I got the following error,

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

Internal Error (classFi         


        
相关标签:
12条回答
  • 2020-12-03 03:23

    I have had a similar problem, I found it was because I had generated a new activity with a main[] stub entry. Once I deleted the main[] code from the new activity templatye the error went away.

    YMMV

    0 讨论(0)
  • 2020-12-03 03:23

    Another possible reason (for future references): I had accidentally copied in a main method in my code, causing Eclipse to recognize the project as a java application, thus launching it with that configuration.

    To solve it I went into Run > Run Configurations... and then changed from my presumed main in java application to the main activity of my android application simply by choosing it in the left column.

    0 讨论(0)
  • 2020-12-03 03:24

    I got the same problem, but with alot of googling I found the answer! See this page

    Quote from the link:


    # An unexpected error has been detected by Java Runtime Environment:
    #
    #  Internal Error (classFileParser.cpp:2924), pid=5364, tid=6644
    #  Error: ShouldNotReachHere
    
    1. That's because we are using Android's JUnit stub implementation. Go to Run -> Run As -> Run configurations again and in the recently created JUnit configuration Classpath's Bootstrap Entries remove Android Library
    2. Then Add Library, using Advanced... button, and add JRE System Library and JUnit 3
    3. Apply and Run

    Try this, it worked for me.

    0 讨论(0)
  • 2020-12-03 03:24

    I am not sure whether you were able to reach the solution for your problem or not but your question just popped up while I was searching for the solution for the same problem I am facing. And I got one solution from the stack itself, so just thought to share a link with you if that aids you by any means. The link is as below:

    Can't run JUnit 4 test case in Eclipse Android project

    0 讨论(0)
  • 2020-12-03 03:29

    You'll need to take this up with Sun -- looks like a JVM bug to me. If it's reproducible, you should be able to run java in such a way as to generate more details (e.g. -verbose, etc). If you can reduce it to a minimal case that triggers the bug (source code always helps!), that also goes a very long way.

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

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

    In the meantime, you might want to try it with a different JVM implementation (maybe even an older patch level of the Sun JRE).

    0 讨论(0)
  • 2020-12-03 03:31

    I just recently found solution for this issue that was posted by devdanke:

    "As of 11-July-2010 and Android 2.1, the work around I use is to segregate tests into different classes. Any test(s) that don't call any Android APIs go into their own classes. For each of these classes, I remove the reference to Android in their Run Configurations, Classpath tab."

    The problem with having it configured class by class is then is not possible to run all tests in project. Better approach is creating 2 test projects with different sets of libraries.

    Standard Android JUnit Test project can be created following link, and sample test class looks like:

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

    Then JUnit Test project can be converted from Android JUnit Test project by removing Android Library from project build path, and adding JRE System Library, and JUnit 3 library, and sample test class looks like:

    import junit.framework.TestCase;
    public class ConverterTest extends TestCase{
        public void testConvert() {
            assertEquals("one", "one");
        }   
    }
    
    0 讨论(0)
提交回复
热议问题