62

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

いくつかの Web 検索を行うと、この問題は何らかの形で JUnit に関連していると思われます。ただし、プロジェクトでは JUnit を使用していません。うっかりオプションをオンにしてしまったのでしょうか。その場合、プロジェクトで単体テストを無効にするにはどうすればよいですか? 何か案は?

4

8 に答える 8

57

最後にそれを見つけました。これは、実行/デバッグ構成ダイアログにあります。JUnitを無効にすると、再度コンパイルされます。

于 2013-10-22T11:55:28.290 に答える
8

標準の JUnit テストでは、JUnit ライブラリが不足しています。これを build.gradle に追加してみてください。

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

そして、テストを「メイン」パッケージと並行して「テスト」ディレクトリに配置していることを確認してください(インストルメンテーション テストは「androidTest」に入りますが、それは別の設定です)。

于 2015-09-14T11:18:19.207 に答える
7

メニューからプロジェクトを強制的に「同期」します: Tools > Android > Sync Project with Gradle Files または build.gradle ファイルに偽の変更を加えてプロジェクトを強制的に「同期」させます (スペースを追加してから削除し、「同期」をクリックします)。今")。

于 2015-04-16T06:55:26.767 に答える
0

いくつかのbuild.gradleプラグインと依存関係を変更した後、この問題が2回発生しました。

Android Studioをオフにして再度オンにするだけで修正されました(バージョン2.1.2および2.2)。

于 2016-08-25T23:40:04.787 に答える
-2

初めて環境を設定する場合は、私にとってうまくいった解決策を提示するだけで、これを試す必要があります。

Windows の場合: 1) 環境変数に新しい「システム変数」を追加します ANDROID_SDK_HOME=D:\Program Files\android-sdk-windows (Android sdk のホーム ディレクトリを選択します)

2) システム変数のパスを変更し、「%Android_SDK_HOME%\tools;」を追加します。

于 2015-04-02T05:10:21.757 に答える