I'm seeing some interesting warnings while loading up my unit tests for my Android project. I don't see these errors when running the app normally. They aren't preventing my unit tests from being run, but they are concerning.
The Flurry library mentioned in the error log below is in the libs directory of a library project of the project being tested.
Here's what the directory structure looks like:
- app project
- library project
- libs
- FlurryAgent.jar
- libs
- unit test project
The errors look like this:
04-09 14:03:12.337: I/dalvikvm(28914): Failed resolving Lcom/flurry/android/bg; interface 2179 'Lcom/google/ads/AdListener;'
04-09 14:03:12.337: W/dalvikvm(28914): Link of class 'Lcom/flurry/android/bg;' failed
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): Cannot load class. Make sure it is in your apk. Class name: 'com.flurry.android.bg'. Message: com.flurry.android.bg
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): java.lang.ClassNotFoundException: com.flurry.android.bg
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at java.lang.Class.classForName(Native Method)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at java.lang.Class.forName(Class.java:217)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at android.test.ClassPathPackageInfoSource.createPackageInfo(ClassPathPackageInfoSource.java:88)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at android.test.ClassPathPackageInfoSource.access$000(ClassPathPackageInfoSource.java:39)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at android.test.ClassPathPackageInfoSource$1.load(ClassPathPackageInfoSource.java:50)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at android.test.ClassPathPackageInfoSource$1.load(ClassPathPackageInfoSource.java:47)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at android.test.SimpleCache.get(SimpleCache.java:31)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at android.test.ClassPathPackageInfoSource.getPackageInfo(ClassPathPackageInfoSource.java:72)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at android.test.ClassPathPackageInfo.getSubpackages(ClassPathPackageInfo.java:48)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at android.test.ClassPathPackageInfo.addTopLevelClassesTo(ClassPathPackageInfo.java:61)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at android.test.ClassPathPackageInfo.getTopLevelClassesRecursive(ClassPathPackageInfo.java:55)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at android.test.suitebuilder.TestGrouping.testCaseClassesInPackage(TestGrouping.java:156)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at android.test.suitebuilder.TestGrouping.addPackagesRecursive(TestGrouping.java:117)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at android.test.suitebuilder.TestSuiteBuilder.includePackages(TestSuiteBuilder.java:102)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at android.test.InstrumentationTestRunner.onCreate(InstrumentationTestRunner.java:366)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4239)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at android.app.ActivityThread.access$1400(ActivityThread.java:139)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1284)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at android.os.Handler.dispatchMessage(Handler.java:99)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at android.os.Looper.loop(Looper.java:137)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at android.app.ActivityThread.main(ActivityThread.java:4918)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at java.lang.reflect.Method.invokeNative(Native Method)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at java.lang.reflect.Method.invoke(Method.java:511)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at dalvik.system.NativeStart.main(Native Method)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): Caused by: java.lang.NoClassDefFoundError: com/flurry/android/bg
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): ... 26 more
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): Caused by: java.lang.ClassNotFoundException: com.flurry.android.bg
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
04-09 14:03:12.347: W/ClassPathPackageInfoSource(28914): ... 26 more
I tried making sure that my app project was checked in Properties->Java Build Path->Order and Export, but that didn't seem to make a difference.
Any help appreciated!