【发布时间】:2014-07-15 00:15:00
【问题描述】:
我能够让 robotsium 测试在我们的应用上运行,但现在我在使用 Espresso 时遇到了问题。我收到“测试运行失败:由于 'java.lang.NoClassDefFoundError 导致检测运行失败”:
java.lang.NoClassDefFoundError: org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeRenderer
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:305)
at android.test.ClassPathPackageInfoSource.createPackageInfo(ClassPathPackageInfoSource.java:88)
at android.test.ClassPathPackageInfoSource.access$000(ClassPathPackageInfoSource.java:39)
at android.test.ClassPathPackageInfoSource$1.load(ClassPathPackageInfoSource.java:50)
at android.test.ClassPathPackageInfoSource$1.load(ClassPathPackageInfoSource.java:47)
at android.test.SimpleCache.get(SimpleCache.java:31)
at android.test.ClassPathPackageInfoSource.getPackageInfo(ClassPathPackageInfoSource.java:72)
at android.test.ClassPathPackageInfo.getSubpackages(ClassPathPackageInfo.java:48)
at android.test.ClassPathPackageInfo.addTopLevelClassesTo(ClassPathPackageInfo.java:61)
at android.test.ClassPathPackageInfo.getTopLevelClassesRecursive(ClassPathPackageInfo.java:55)
at android.test.suitebuilder.TestGrouping.testCaseClassesInPackage(TestGrouping.java:156)
at android.test.suitebuilder.TestGrouping.addPackagesRecursive(TestGrouping.java:117)
at android.test.suitebuilder.TestSuiteBuilder.includePackages(TestSuiteBuilder.java:102)
at android.test.InstrumentationTestRunner.onCreate(InstrumentationTestRunner.java:366)
at com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner.onCreate(GoogleInstrumentationTestRunner.java:114)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4319)
at android.app.ActivityThread.access$1500(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
有什么帮助吗? 这是我的 gradle 文件:
dependencies {
compile 'com.google.android.gms:play-services:5.0.+@aar'
compile 'com.android.support:support-v13:20.0.+'
compile 'com.android.support:appcompat-v7:19.+'
androidTestCompile files('libs/espresso-contrib-1.1-bundled.jar')
compile files('libs/android-logging-log4j-1.0.3.jar')
compile files('libs/FiksuAndroidSDK_2.1.2.jar')
compile files('libs/gcm.jar')
compile files('libs/internal.jar')
compile files('libs/log4j-1.2.17.jar')
compile files('libs/MobileAppTracker.jar')
wearApp project(":wearable")
}
我使用的是 Android Studio,但没有单独的测试项目。我认为这与“编译文件('libs/log4j-1.2.17.jar')”和“androidTestCompile 文件('libs/espresso-contrib-1.1-bundled.jar')”不一致有关彼此,但不知道如何绕过它。有什么帮助吗?
【问题讨论】:
标签: java android log4j android-gradle-plugin android-espresso