线程“main”中的exceptionjava.lang.NoClassDefFoundError:junit / textui / ResultPrinter

我想在Android Studio 0.3.0中编译我的Android项目。 今天我得到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:188) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:113) Caused by: java.lang.ClassNotFoundException: junit.textui.ResultPrinter at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) ... 3 more Process finished with exit code 1 

做一些networkingsearch导致我相信这个问题与JUnit有某种关系。 但是,我没有在我的项目中使用JUnit。 也许我无意中打开了一些选项? 在这种情况下,我如何在我的项目中禁用unit testing? 有任何想法吗?

终于find了。 它在“运行/debuggingconfiguration”对话框中。 禁用JUnit并重新编译。

通常这个问题是由于错误的testingtypes造成的: Junit代替了Android Test 选择Android测试而不是JUnit选择Android测试而不是JUnit

对于标准的JUnittesting,你缺lessJUnit库,尝试在build.gradle中添加它:

 dependencies { ... testCompile 'junit:junit:4.12' ... } 

并确保您将testing放在与“主”包相同的“testing”目录中(testing进入“androidTest”,但这是不同的设置)。

通过菜单强制项目“同步”:工具> Android>与Gradle文件同步项目或通过在build.gradle文件中进行假冒更改强制项目“同步”(添加一个空格,然后删除它,然后单击“同步现在”)。

在我的运行/debuggingconfiguration中,我有MyTest在AndroidTests和JUnitTests下。 AndroidTests下的MyTestconfiguration正确,但仍然出现“NoClassDefFoundError:junit / textui / ResultPrinter”错误。 点击JUnit下的MyTest,然后按左上angular的“ – ”。 这允许MyTest通过设备运行摆脱错误。

我更改了一些build.gradle插件和依赖关系后,曾两次遇到这个问题。

简单地closuresAndroid Studio,然后再为我修复(版本2.1.2和2.2)。

所有的答案都很好,

确保你有sourceSets有注册的testing目录。

 android{ ... defaultConfig { ... testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } sourceSets { androidTest { java.srcDirs = ['src/androidTest/java'] } } } dependencies{ ... androidTestCompile 'junit:junit:4.12' androidTestCompile 'com.android.support.test:runner:0.5' } 

只要把解决scheme,我的工作,这应该尝试,如果你是第一次设置环境:

对于windows:1)在环境variables中添加一个新的“系统variables”ANDROID_SDK_HOME = D:\ Program Files \ android-sdk-windows(select你的android sdk的主目录)

2)修改系统variablespath,添加“%Android_SDK_HOME%\ tools;”