gpt4 book ai didi

java.lang.NoClassDefFoundError : Failed resolution of: Lorg/junit/runner/notification/RunListener 错误

转载 作者:太空狗 更新时间:2023-10-29 13:57:35 25 4
gpt4 key购买 nike

我在运行 espresso 测试时遇到这个错误,完整的日志是:

java.lang.NoClassDefFoundError: Failed resolution of: Lorg/junit/runner/notification/RunListener;
at android.support.test.internal.runner.RunnerArgs$Builder.fromBundle(RunnerArgs.java:150)
at android.support.test.runner.AndroidJUnitRunner.parseRunnerArgs(AndroidJUnitRunner.java:224)
at android.support.test.runner.AndroidJUnitRunner.onCreate(AndroidJUnitRunner.java:199)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4698)
at android.app.ActivityThread.-wrap1(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.ClassNotFoundException: Didn't find class "org.junit.runner.notification.RunListener" on path: DexPathList[[zip file "/system/framework/android.test.runner.jar", zip file "/data/app/ro.adr.test.test-1/base.apk", zip file "/data/app/ro.adr.test-1/base.apk"],nativeLibraryDirectories=[/data/app/ro.adr.test.test-1/lib/x86, /data/app/ro.adr.test-1/lib/x86, /vendor/lib, /system/lib]]

我确定在 build.gradle 和库项目 build.gradle 中没有 junit 冲突,这是我的 app/build.gradle

    dependencies {
compile project(":adr")
compile fileTree(dir: 'libs', include: ['*.jar'])
// compile 'junit:junit:4.12'
compile 'org.hamcrest:hamcrest-core:1.3'
testCompile 'junit:junit:4.12'
String ver = "23.4.0"

compile "com.android.support:design:${ver}"

compile files("${System.env.HOME}/Dropbox/jvs/ro2/build/libs/ro2.jar")

androidTestCompile('com.android.support.test:runner:0.5')

androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2')
compile 'com.github.javafaker:javafaker:0.10'
}

最佳答案

我找到了解决方案,我检查上面的日志输出“/data/app/ro.adr.test.test-1/base.apk”,并用apktool反编译,在正常情况下, 它应该包括

base/smali/org/junit/runner/notification/RunListener.smali

但它没有,所以我认为最好的方法是:

  • rm android 项目中的所有构建目录
  • rm/data/app/all-project-relative-dir
  • 重新运行调试
  • 以上步骤可以用脚本完成

更新

以上方案并不完美,如果你使用gradle,你可以:

gradle --daemon clean uninstallAll

关于java.lang.NoClassDefFoundError : Failed resolution of: Lorg/junit/runner/notification/RunListener 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38184369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com