2011-07-17 4 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

근무 ... 호출기 용 – SaKet

10

그 이유는 단지 벌집 (API 11 이상)로 발견된다 AppListFragment 구현 (OnQuerytextListener)이 SearchView에 정의 된 인터페이스 중 하나. 내가 호환성 항아리를 검색했지만 SearchView와 아무 찾을 수 없습니다

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

그래서이는 허니 콤이 작업을 방지보다 낮은 대상에 벌집 최대 (그리고 컴파일에서 작동합니다 가정합니다. > 스로틀 다음 메뉴 키를 누릅니다 - -

는 예 로더에 대해 동일한 이유로 다른 실패의 몇 가지가 있습니다.없는 방법을 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

,369에서

자신의 조언에 따르면 전체 프로젝트를 컴파일 할 수 없다는 것을 의미합니다. 예제 수업의 절반은 API 4보다 높은 것으로 의존합니다.

내 대답은 무엇입니까? 일부 예제는 좋지 않으며 코드가없는 경우도 있습니다. 운이 좋으면 곧 Google에서 업데이트 할 예정입니다.

아, 예, 일시적으로 AppListFragment에서 OnQueryTextListener 및 메서드를 제거하여 작동하게 만들 수 있지만 나중에 다른 문제로 실패합니다.

+0

이것은 정답입니다 ... klemzy의 문제는 단지 추악한 해결 방법입니다. – Cristian

+0

@ 크리스티안 : 실용적이고 이론적 인 해결책. 나는 stackoverflow.com을 좋아한다 :) – Macarse

+1

이것은 또한 http://code.google.com/p/android/issues/detail?id=18594에서 더 자세하게 논의되며, 데모를 "수정"하기위한 추가 단계는 – dweebo