安卓:java.lang.ClassNotFoundException:android.support.v4.media.TransportMediatorJellybeanMR2

标签 android android-emulator android-emulator-plugin

在 jenkins 的模拟器上运行我的应用程序时遇到此异常。它最近才开始发生,无法真正解决我改变的原因。当我在模拟器中从 IntelliJ (Android Studio) 运行时,它似乎工作正常。

我的 AndroidManifest.xml 包含:

<uses-sdk android:minSdkVersion="15"/>

我的 gradle 脚本是:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.0"

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 17
        testPackageName "com.sevenlights.reminder.test"
        testInstrumentationRunner "android.test.InstrumentationTestRunner"
    }
}

dependencies {
    compile("org.mockito:mockito-all:1.9.5")
    compile("com.google.dexmaker:dexmaker:1.0")
    compile("com.google.dexmaker:dexmaker-mockito:1.0"){
        exclude group: 'org.hamcrest', module: 'hamcrest-core'
        exclude group: 'org.mockito', module: 'mockito-core'
        exclude group: 'org.objenesis', module: 'objenesis'
    }

    compile("joda-time:joda-time:1.5.2")
    compile("nl.qbusict:cupboard:1.0.3")
    compile('com.android.support:appcompat-v7:19.0.0')
    compile('com.jayway.android.robotium:robotium-solo:5.0.1')
}

完整的堆栈跟踪是:

05-29 20:26:53.581 I/dalvikvm(  722): Failed resolving Landroid/support/v4/media/TransportMediatorJellybeanMR2; interface 127 'Landroid/media/RemoteControlClient$OnGetPlaybackPositionListener;'
05-29 20:26:53.581 W/dalvikvm(  722): Link of class 'Landroid/support/v4/media/TransportMediatorJellybeanMR2;' failed
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722): Cannot load class. Make sure it is in your apk. Class name: 'android.support.v4.media.TransportMediatorJellybeanMR2'. Message: android.support.v4.media.TransportMediatorJellybeanMR2
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722): java.lang.ClassNotFoundException: android.support.v4.media.TransportMediatorJellybeanMR2
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at java.lang.Class.classForName(Native Method)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at java.lang.Class.forName(Class.java:217)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at android.test.ClassPathPackageInfoSource.createPackageInfo(ClassPathPackageInfoSource.java:88)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at android.test.ClassPathPackageInfoSource.access$000(ClassPathPackageInfoSource.java:39)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at android.test.ClassPathPackageInfoSource$1.load(ClassPathPackageInfoSource.java:50)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at android.test.ClassPathPackageInfoSource$1.load(ClassPathPackageInfoSource.java:47)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at android.test.SimpleCache.get(SimpleCache.java:31)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at android.test.ClassPathPackageInfoSource.getPackageInfo(ClassPathPackageInfoSource.java:72)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at android.test.ClassPathPackageInfo.getSubpackages(ClassPathPackageInfo.java:48)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at android.test.ClassPathPackageInfo.addTopLevelClassesTo(ClassPathPackageInfo.java:61)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at android.test.ClassPathPackageInfo.getTopLevelClassesRecursive(ClassPathPackageInfo.java:55)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at android.test.suitebuilder.TestGrouping.testCaseClassesInPackage(TestGrouping.java:156)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at android.test.suitebuilder.TestGrouping.addPackagesRecursive(TestGrouping.java:117)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at android.test.suitebuilder.TestSuiteBuilder.includePackages(TestSuiteBuilder.java:102)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at android.test.InstrumentationTestRunner.onCreate(InstrumentationTestRunner.java:366)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3920)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at android.app.ActivityThread.access$1300(ActivityThread.java:123)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1185)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at android.os.Looper.loop(Looper.java:137)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at android.app.ActivityThread.main(ActivityThread.java:4424)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at java.lang.reflect.Method.invokeNative(Native Method)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at java.lang.reflect.Method.invoke(Method.java:511)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at dalvik.system.NativeStart.main(Native Method)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722): Caused by: java.lang.NoClassDefFoundError: android/support/v4/media/TransportMediatorJellybeanMR2
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     ... 26 more
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722): Caused by: java.lang.ClassNotFoundException: android.support.v4.media.TransportMediatorJellybeanMR2
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
05-29 20:26:53.601 W/ClassPathPackageInfoSource(  722):     ... 26 more

最佳答案

作为Thomas Knychthis Google Groups discussion 中说:

This is android.test.instrumentationtestrunner scanning every class in the apk. Some of the classes cannot be loaded. This is expected and not an issue

所以你不用担心。它不会阻止您的应用程序/测试工作。

关于安卓:java.lang.ClassNotFoundException:android.support.v4.media.TransportMediatorJellybeanMR2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23931388/

相关文章:

java.lang.RuntimeException : This query has an outstanding network connection. 你必须等到它

android - adb pull命令权限

Android Galaxy S4 模拟器无法打开

android - 如何从 CI 的服务帐户访问 Android 虚拟设备 (AVD)?

android - 单击项目时没有显示 toast RecyclerView

android - java.lang.NoClassDefFoundError : android. 媒体.projection.MediaProjectionManager

android - Android平台中的Service vs IntentService

java - 如何在我的 android 应用程序中修复 INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

android - 在 Android 模拟器 WebKit 中启用内部日志记录?

Jenkins 上的 Android 模拟器插件 - 如何延长超时时间?