在 android 中使用 android-support-v7-appcompat 库运行 PopupMenu 时出现 NoClassDefFoundError

Posted

技术标签:

【中文标题】在 android 中使用 android-support-v7-appcompat 库运行 PopupMenu 时出现 NoClassDefFoundError【英文标题】:NoClassDefFoundError when running PopupMenu using android-support-v7-appcompat library in android 【发布时间】:2014-08-18 10:16:15 【问题描述】:

我正在尝试在我的 android 应用程序中实现一个弹出菜单,该菜单将受到 android 2.2 的支持。所以我使用了 android-support-v7-appcompat 支持库来做到这一点。但不幸的是,我收到了 java.lang.NoClassDefFoundError 异常。无法解决,有谁能帮帮我吗?提前致谢!

logcat 显示,

06-27 15:40:30.160: E/AndroidRuntime(26985): FATAL EXCEPTION: main
06-27 15:40:30.160: E/AndroidRuntime(26985): java.lang.NoClassDefFoundError:  android.support.v7.internal.view.menu.MenuBuilder
06-27 15:40:30.160: E/AndroidRuntime(26985):    at android.support.v7.widget.PopupMenu.<init>(PopupMenu.java:66)
06-27 15:40:30.160: E/AndroidRuntime(26985):    at com.example.basic.MainActivity$4.onClick(MainActivity.java:401)
06-27 15:40:30.160: E/AndroidRuntime(26985):    at android.view.View.performClick(View.java:4421)
06-27 15:40:30.160: E/AndroidRuntime(26985):    at android.view.View$PerformClick.run(View.java:17903)
06-27 15:40:30.160: E/AndroidRuntime(26985):    at android.os.Handler.handleCallback(Handler.java:730)
06-27 15:40:30.160: E/AndroidRuntime(26985):    at android.os.Handler.dispatchMessage(Handler.java:92)
06-27 15:40:30.160: E/AndroidRuntime(26985):    at android.os.Looper.loop(Looper.java:213)
06-27 15:40:30.160: E/AndroidRuntime(26985):    at android.app.ActivityThread.main(ActivityThread.java:5225)
06-27 15:40:30.160: E/AndroidRuntime(26985):    at java.lang.reflect.Method.invokeNative(Native Method)
06-27 15:40:30.160: E/AndroidRuntime(26985):    at java.lang.reflect.Method.invoke(Method.java:525)
06-27 15:40:30.160: E/AndroidRuntime(26985):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741)
06-27 15:40:30.160: E/AndroidRuntime(26985):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
06-27 15:40:30.160: E/AndroidRuntime(26985):    at dalvik.system.NativeStart.main(Native Method)

【问题讨论】:

检查我的答案:***.com/a/21898031/1785412 @SiddharthVyas 不幸的是,您的回答与此问题无关。我希望有人能尽快解决这个问题。 你可能想看看***.com/questions/24809580/… 【参考方案1】:

签出项目 -> 属性 -> Java 构建路径/顺序和导出。使用 android.support.v7.internal.view.menu.MenuBuilder 检查库和依赖项

【讨论】:

以上是关于在 android 中使用 android-support-v7-appcompat 库运行 PopupMenu 时出现 NoClassDefFoundError的主要内容,如果未能解决你的问题,请参考以下文章

Android-Super分区

何时在 Android 中使用 RxJava,何时使用 Android 架构组件中的 LiveData?

在 Android 12 中使用 WorkManager

如何在 android 应用程序中使用 OSM 地图。?有啥教程可以学习在android中使用OSM吗?

如何在Mac中使用Android SDK

在 Android 中使用 Intent 在活动中传递 android 位图数据