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 Library
和Android Support Repository
李>
但问题依然存在
我正在测试nexus 10
# 1 楼答案
一般来说,永远不要手动破坏构建路径
您尝试使用的项目是一个Android库项目。有instructions for adding a dependency on an Android library project to your Eclipse project。鉴于已将其导入Eclipse工作区,您需要通过项目设置的Android部分将其作为依赖项添加:
单击“添加”按钮,从对话框中选择此库项目,单击“确定”关闭每个对话框,然后应该进行设置