线程“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
对于标准的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;”
- Android Studio:hover时javadoc为空
- 在android studio中不能小写button文本
- 在Intellij IDEA / Android Studio中预览具有合并根标签的布局
- 如何在Android Studio中创build库项目以及使用库项目的应用程序项目
- 你如何在Eclipse中打开一个Android Studio项目?
- 如何使Android Studio下载依赖关系源代码和javadoc?
- Android工作室Gradle图标错误,清单合并
- 导入NotNull或Nullable和Android Studio不会编译
- Android Studio:如何删除/更新添加到所有新类的“创build人”评论?