Home » Android » java – Android Studio – with Junit 4.12 “!!! JUnit version 3.8 or later expected:”

java – Android Studio – with Junit 4.12 “!!! JUnit version 3.8 or later expected:”

Posted by: admin April 23, 2020 Leave a comment


Tried out the suggestions on this post, but I still get the error:

!!! JUnit version 3.8 or later expected:

java.lang.RuntimeException: Stub!
    at junit.runner.BaseTestRunner.<init>(BaseTestRunner.java:5)
    at junit.textui.TestRunner.<init>(TestRunner.java:54)
    at junit.textui.TestRunner.<init>(TestRunner.java:48)
    at junit.textui.TestRunner.<init>(TestRunner.java:41)

Process finished with exit code -3

Not sure what to do from here. Tried reorganizing the order of the Junit dependency. No luck, anyone else get this issue?

Android Studio V.

How to&Answers:

Solved the issue. I was running the JUnit tests as a standard “JUnit test” in Android Studio. I fixed the issue by resetting the configuration as a Android Test.


I solve this problem by moving “testCompile ‘junit:junit:4.12′” to the first order in build.gradle dependency block


Running into this when opening an old project into latest Android Studio 2.3 after it auto-updated the project.

Android Studio supports “Android JUnit” tests which should run using the current host JRE and properly support JUnit 4+. The error is due to the wrong JRE being used.

Solved by using Edit Configuration > select the Android JUnit configuration > edit the JRE. Select any choice, use Apply, then change it back to “Default (Android Platform)” for it work.


The below fix is a work around and a repetitive task you need to perform on every new class that you create. I have used Gradle for my project on Android Studio.

Step 1:
Go to Run-> Edit Configurations

Step 2:
For each JUnit test configuration, change and add the below into the fields:
a) JRE: Default is selected. Change it to the JRE version you have on your PC which you get as an option in the drop-down. As of today, its 1.8
b) Before launch field: Click on ‘+’, select your module and add task as “clean compileTestJava”. Move it to top in the list
JUnit test configuration

Step 3: Apply Changes and now run your java class.


I was having the same error and I fixed it by updating JRE value under “Edit Configurations…” in Android Studio, I used API 28 instead and then it worked. Please check the image for your reference…

enter image description here


In my case I just forgot that I’ve changed the build variant to “release”. Switching back to “debug” fixed everything. FML.


Running an “Android JUNit” config and having JUnit 4.12 in gradle did not help to resolve this.

I needed to select JRE to Android API 27 Platform in the run config manually instead of “Default” to resolve the issue.


To solve this issue, I set “JRE” to “1.8”. This is Under “Edit Configurations”


I was also getting similar error when I added new project to workspace. May be they(new Project) would have upgraded Junit version or manadated that project should always use specific version.

In this cases, I closed project(all) along with original workspace and opened in new one.


I’ve managed to solve it with simply editing the project’s app.iml and moving order entry after from bottom:

<orderEntry type="library" exported="" scope="TEST" name="junit-4.12" level="project" />


I had to update a Gradle settings file according to these instructions. I just added the line

testImplementation 'junit:junit:4.12'

to the dependencies block of my app’s build.gradle file. If you check the “Project” tab in Android studio (where you can see your source code files) there should be a “Gradle Scripts” section. Look for the build.gradle file named after your package and add that line to the dependencies block, then click the “Sync now” prompt that should come up.