java.lang.NoClassDefFoundError:android.support.v7.widget。*自升级到支持库v23以来

时间:2015-08-30 19:07:13

标签: android android-widget android-support-library noclassdeffounderror

我在我的应用中使用MaterialDialog库。
昨天我已经将库版本更新到最新版本,并且由于它使用了一些新的注释,我还必须更新Support V7库。
从那时起,就无法加载包含小部件的屏幕(CheckBox / RadioButton) 这是堆栈:

08-30 21:53:10.418: E/AndroidRuntime(30341): FATAL EXCEPTION: main
08-30 21:53:10.418: E/AndroidRuntime(30341): Process: com.xx.xxx, PID: 30341
08-30 21:53:10.418: E/AndroidRuntime(30341): java.lang.NoClassDefFoundError: android.support.v7.widget.AppCompatCheckBox
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.support.v7.internal.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:89)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:886)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:940)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.LayoutInflater.inflate(LayoutInflater.java:482)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.preference.Preference.onCreateView(Preference.java:516)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.preference.Preference.getView(Preference.java:487)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.preference.PreferenceGroupAdapter.getView(PreferenceGroupAdapter.java:246)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.AbsListView.obtainView(AbsListView.java:2346)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.ListView.makeAndAddView(ListView.java:1864)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.ListView.fillDown(ListView.java:698)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.ListView.fillFromTop(ListView.java:759)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.ListView.layoutChildren(ListView.java:1659)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.AbsListView.onLayout(AbsListView.java:2150)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.View.layout(View.java:15595)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.ViewGroup.layout(ViewGroup.java:4966)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.View.layout(View.java:15595)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.ViewGroup.layout(ViewGroup.java:4966)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.View.layout(View.java:15595)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.ViewGroup.layout(ViewGroup.java:4966)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1076)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.View.layout(View.java:15595)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.ViewGroup.layout(ViewGroup.java:4966)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.View.layout(View.java:15595)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.ViewGroup.layout(ViewGroup.java:4966)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.View.layout(View.java:15595)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.ViewGroup.layout(ViewGroup.java:4966)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.View.layout(View.java:15595)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.ViewGroup.layout(ViewGroup.java:4966)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.View.layout(View.java:15595)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.ViewGroup.layout(ViewGroup.java:4966)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.View.layout(View.java:15595)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.ViewGroup.layout(ViewGroup.java:4966)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2072)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1829)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5786)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.Choreographer.doCallbacks(Choreographer.java:580)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.Choreographer.doFrame(Choreographer.java:550)
08-30 21:53:10.418: E/AndroidRuntime(30341):    at android.view.Choreographer$FrameDisplayE

同样适用于AppCompatRadioButton

我尝试删除/删除/重新添加支持库
我还试图将MaterialDialog库恢复到旧版本,但没有成功 我还将CheckBox添加到简单PreferenceFragment,并引发了同样的异常。

我使用的是eclipse,而不是Android Studio。

1 个答案:

答案 0 :(得分:2)

尝试手动将新版本的 android-sdk \ extras \ android \ support \ v13 \ android-support-v13.jar 复制到 libs 文件夹中。< / p>

如果您使用的是Android Studio,则可以使用 compile'c​​om.android.support:support-v13:23.0.0':23 + 而不是复制它。

不仅,使用Eclipse,如果你在libs中有其他支持jar,你也应该通过手动复制它们来更新它们。