有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JAVANoClassDefFoundError:安卓。支持v4。偏好片段。R$布局

我有一个扩展安卓.support.v4.PreferenceFragment的类。当我运行应用程序时,我第一次在LogCat上收到以下警告:

04-02 14:22:57.113: W/dalvikvm(28828): VFY: unable to resolve static field 656 (preference_list_fragment) in L安卓/support/v4/preferencefragment/R$layout;

然后点击应用程序UI上的一个选项,它就会关闭,这个错误出现在LogCat上

04-02 14:22:57.158: E/AndroidRuntime(28828): FATAL EXCEPTION: main
04-02 14:22:57.158: E/AndroidRuntime(28828): java.lang.NoClassDefFoundError: 安卓.support.v4.preferencefragment.R$layout
04-02 14:22:57.158: E/AndroidRuntime(28828):    at 安卓.support.v4.preference.PreferenceFragment.onCreateView(PreferenceFragment.java:95)
04-02 14:22:57.158: E/AndroidRuntime(28828):    at 安卓.support.v4.app.Fragment.performCreateView(Fragment.java:1500)
04-02 14:22:57.158: E/AndroidRuntime(28828):    at 安卓.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
04-02 14:22:57.158: E/AndroidRuntime(28828):    at 安卓.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
04-02 14:22:57.158: E/AndroidRuntime(28828):    at 安卓.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
04-02 14:22:57.158: E/AndroidRuntime(28828):    at 安卓.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467)
04-02 14:22:57.158: E/AndroidRuntime(28828):    at 安卓.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440)
04-02 14:22:57.158: E/AndroidRuntime(28828):    at 安卓.os.Handler.handleCallback(Handler.java:725)
04-02 14:22:57.158: E/AndroidRuntime(28828):    at 安卓.os.Handler.dispatchMessage(Handler.java:92)
04-02 14:22:57.158: E/AndroidRuntime(28828):    at 安卓.os.Looper.loop(Looper.java:137)
04-02 14:22:57.158: E/AndroidRuntime(28828):    at 安卓.app.ActivityThread.main(ActivityThread.java:5039)
04-02 14:22:57.158: E/AndroidRuntime(28828):    at java.lang.reflect.Method.invokeNative(Native Method)
04-02 14:22:57.158: E/AndroidRuntime(28828):    at java.lang.reflect.Method.invoke(Method.java:511)
04-02 14:22:57.158: E/AndroidRuntime(28828):    at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-02 14:22:57.158: E/AndroidRuntime(28828):    at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:560)
04-02 14:22:57.158: E/AndroidRuntime(28828):    at dalvik.system.NativeStart.main(Native Method)

我已经看过很多关于同一个问题的帖子,我已经做了以下所有工作:

  • https://github.com/kolavar/安卓-support-v4-preferencefragment下载PreferenceFragment,将其作为项目导入,并将其作为必需项目添加到我的buildpath中
  • https://github.com/escrichov/guide/tree/master/安卓-support-v4-preferencefragment-master中的代码也尝试了最后一步
  • libs文件夹中添加了安卓-support-v4.jar,并将其添加到我的构建路径中
  • libs文件夹中添加了安卓-support-v4-preferencefragment-master.jar,并将其添加到我的构建路径中
  • 检查了Java构建路径的Order and Export选项卡中的安卓-support-v4-prerferencefragment
  • 尝试右键单击我的项目->;Android工具->;添加支持库
  • 每次更改后都会清理项目
  • 从Android SDK管理器下载Android Support LibraryAndroid Support Repository

但问题依然存在

我正在测试nexus 10


共 (1) 个答案

  1. # 1 楼答案

    一般来说,永远不要手动破坏构建路径

    您尝试使用的项目是一个Android库项目。有instructions for adding a dependency on an Android library project to your Eclipse project。鉴于已将其导入Eclipse工作区,您需要通过项目设置的Android部分将其作为依赖项添加:

    Android Project Properties

    单击“添加”按钮,从对话框中选择此库项目,单击“确定”关闭每个对话框,然后应该进行设置