2011-07-17 40 views
6

有沒有人嘗試過Android上的新兼容庫的演示應用程序呢。 HereAndroid兼容庫錯誤

我對API 11試圖V4構建和我不斷收到這個錯誤,當我嘗試Support4Demo並在片段演示點擊選項卡和尋呼機

e07-16 21:32:06.890: ERROR/AndroidRuntime(15315): java.lang.NoClassDefFoundError: com.example.android.supportv4.app.LoaderCustomSupport$AppListFragment 07-16 21:32:06.890: ERROR/AndroidRuntime(15315): at com.example.android.supportv4.app.FragmentTabs.onCreate(FragmentTabs.java:55) 07-16 21:32:06.890: ERROR/AndroidRuntime(15315): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072) 07-16 21:32:06.890: ERROR/AndroidRuntime(15315): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1785) 07-16 21:32:06.890: ERROR/AndroidRuntime(15315): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1842) 07-16 21:32:06.890: ERROR/AndroidRuntime(15315): at android.app.ActivityThread.access$1500(ActivityThread.java:132) 07-16 21:32:06.890: ERROR/AndroidRuntime(15315): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1038) 07-16 21:32:06.890: ERROR/AndroidRuntime(15315): at android.os.Handler.dispatchMessage(Handler.java:99) 07-16 21:32:06.890: ERROR/AndroidRuntime(15315): at android.os.Looper.loop(Looper.java:143) 07-16 21:32:06.890: ERROR/AndroidRuntime(15315): at android.app.ActivityThread.main(ActivityThread.java:4263) 07-16 21:32:06.890: ERROR/AndroidRuntime(15315): at java.lang.reflect.Method.invokeNative(Native Method) 07-16 21:32:06.890: ERROR/AndroidRuntime(15315): at java.lang.reflect.Method.invoke(Method.java:507) 07-16 21:32:06.890: ERROR/AndroidRuntime(15315): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 07-16 21:32:06.890: ERROR/AndroidRuntime(15315): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 07-16 21:32:06.890: ERROR/AndroidRuntime(15315): at dalvik.system.NativeStart.main(Native Method)

誰能幫我在這?

回答

6

我已經通過註釋掉FragmentTab.onCreate和FragmentTabPager.onCreate中的適當行來解決了這個問題。

//mTabManager.addTab(mTabHost.newTabSpec("custom").setIndicator("Custom"), 
//  LoaderCustomSupport.AppListFragment.class, null); 
+0

working..for尋呼機 – SaKet

10

的類不能被發現的原因是,該AppListFragment器械(OnQuerytextListener)在搜索查看被定義的接口,其僅在蜂窩(API 11+)發現之一。

public static class AppListFragment extends ListFragment implements OnQueryTextListener, LoaderManager.LoaderCallbacks<List<AppEntry>> 
{ 

我已經通過了兼容性罐子搜查,但找不到任何與搜索查看,所以我認爲這將只是一個目標在Honeycomb及以上(和編譯工作低於蜂窩確實防止這個工作。

也有一些其他的失敗出於同樣的原因,例如裝載機 - >油門然後按菜單 - 缺少方法

Compatibility Package頁面

Warning: Be certain that you not confuse the standard android packages with those in android.support library. Some code completion tools might get this wrong, especially if you're building against recent versions of the platform. To be safe, keep your build target set to the same version as you have defined for your android:minSdkVersion and double check the import statements for classes that also exist in the support library, such as SimpleCursorAdapter

按照自己的意見意味着整個項目無法編譯 - 一半的示例類似乎是對的東西比API 4.

我的答案較高依賴?有些例子很糟糕,依賴於不存在的代碼。運氣好的話,Google會盡快更新它們。

哦,是的,你可以通過從AppListFragment中刪除OnQueryTextListener和方法來暫時使它工作,但它會在以後出現其他問題時失敗。

+0

這是正確的答案... klemzy的一個只是一個醜陋的解決方法。 – Cristian

+0

@克里斯蒂安:實用和理論的解決方案。我愛stackoverflow.com :) – Macarse

+1

這也是http://code.google.com/p/android/issues/detail?id=18594更詳細討論和其他步驟「修復」演示概述 – dweebo