2011-06-06 137 views
7

我的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爲了讓它起作用,它應該足以導出主項目中的所有庫,但對我而言並不奏效。任何其他想法?

+0

你有沒有得到一個解決方案?我嘗試了建議的解決方案/博客,但仍然沒有成功。 – dispake 2011-11-08 08:51:28

+0

建議的解決方案對我來說都不適用。萬一它很重要,我的缺失庫取決於本地庫(在我的主要項目中完美加載) – xverges 2012-09-27 13:55:00

回答

16

轉到使用.jar文件的項目(即被測項目)。點擊鼠標右鍵 - >屬性 - > Java構建路徑 - >在線訂單和出口 - >檢查庫有

enter image description here

+0

正如我在第一篇文章中所說,我已經這樣做,但沒有改變... – rciovati 2011-06-06 14:49:58

+0

我有使用Maven相同的問題。我需要做什麼? – JohnyTex 2014-06-03 15:17:14

2

什麼工作對我來說是 - 在「訂單,並導入」部分,把我的JAR文件了

相關問題