我的Android項目有幾個jar庫作爲依賴關係。它獨自編譯並運行良好。 我寫了一個小的測試項目,但運行它,我沒有得到任何結果(沒有測試通過或失敗),也沒有任何錯誤,但在logcat的輸出也有類似的警告:使用jar依賴測試Android項目
06-06 14:55:43.533: INFO/dalvikvm(7049): Failed resolving Lcom/adwhirl/adapters/InMobiAdapter; interface 315 'Lcom/inmobi/androidsdk/InMobiAdDelegate;' 06-06 14:55:43.533: WARN/dalvikvm(7049): Link of class 'Lcom/adwhirl/adapters/InMobiAdapter;' failed 06-06 14:55:43.533: INFO/dalvikvm(7049): Failed resolving Lcom/adwhirl/adapters/InMobiAdapter; interface 407 'Lcom/inmobi/androidsdk/InMobiAdDelegate;' 06-06 14:55:43.533: WARN/dalvikvm(7049): Link of class 'Lcom/adwhirl/adapters/InMobiAdapter;' failed 06-06 14:55:43.553: DEBUG/dalvikvm(7049): GC_CONCURRENT freed 471K, 51% free 2880K/5831K, external 0K/0K, paused 2ms+4ms 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): Cannot load class. Make sure it is in your apk. Class name: 'com.adwhirl.adapters.InMobiAdapter'. Message: com.adwhirl.adapters.InMobiAdapter 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): java.lang.ClassNotFoundException: com.adwhirl.adapters.InMobiAdapter 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at java.lang.Class.classForName(Native Method) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at java.lang.Class.forName(Class.java:234) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at android.test.ClassPathPackageInfoSource.createPackageInfo(ClassPathPackageInfoSource.java:89) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at android.test.ClassPathPackageInfoSource.access$000(ClassPathPackageInfoSource.java:40) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at android.test.ClassPathPackageInfoSource$1.load(ClassPathPackageInfoSource.java:51) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at android.test.ClassPathPackageInfoSource$1.load(ClassPathPackageInfoSource.java:48) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at android.test.SimpleCache.get(SimpleCache.java:31) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at android.test.ClassPathPackageInfoSource.getPackageInfo(ClassPathPackageInfoSource.java:73) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at android.test.ClassPathPackageInfo.getSubpackages(ClassPathPackageInfo.java:48) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at android.test.ClassPathPackageInfo.addTopLevelClassesTo(ClassPathPackageInfo.java:61) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at android.test.ClassPathPackageInfo.getTopLevelClassesRecursive(ClassPathPackageInfo.java:55) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at android.test.suitebuilder.TestGrouping.testCaseClassesInPackage(TestGrouping.java:154) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at android.test.suitebuilder.TestGrouping.addPackagesRecursive(TestGrouping.java:115) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at android.test.suitebuilder.TestSuiteBuilder.includePackages(TestSuiteBuilder.java:103) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at android.test.InstrumentationTestRunner.onCreate(InstrumentationTestRunner.java:360) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3398) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at android.app.ActivityThread.access$2200(ActivityThread.java:123) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:977) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at android.os.Handler.dispatchMessage(Handler.java:99) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at android.os.Looper.loop(Looper.java:130) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at android.app.ActivityThread.main(ActivityThread.java:3835) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at java.lang.reflect.Method.invokeNative(Native Method) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at java.lang.reflect.Method.invoke(Method.java:507) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at dalvik.system.NativeStart.main(Native Method) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): Caused by: java.lang.NoClassDefFoundError: com.adwhirl.adapters.InMobiAdapter 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): ... 26 more 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): Caused by: java.lang.ClassNotFoundException: com.adwhirl.adapters.InMobiAdapter in loader dalvik.system.PathClassLoader[/system/framework/android.test.runner.jar:/data/app/com.mypackage.test-1.apk:/data/app/com.mypackage-2.apk] 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at java.lang.ClassLoader.loadClass(ClassLoader.java:551) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 06-06 14:55:43.553: WARN/ClassPathPackageInfoSource(7049): ... 26 more
正如你所看到的似乎有導出庫的問題,事實上,每個庫都會出現這樣的錯誤。 我讀in this blog post爲了讓它起作用,它應該足以導出主項目中的所有庫,但對我而言並不奏效。任何其他想法?
你有沒有得到一個解決方案?我嘗試了建議的解決方案/博客,但仍然沒有成功。 – dispake 2011-11-08 08:51:28
建議的解決方案對我來說都不適用。萬一它很重要,我的缺失庫取決於本地庫(在我的主要項目中完美加載) – xverges 2012-09-27 13:55:00