3

我正在迁移我的代码以使用 Actionbarsherlock。我已经完成了我需要的所有代码调整,并且我的项目编译正常,没有错误,但是我得到以下异常:

java.lang.NoClassDefFoundError:com.actionbarsherlock.R$Styleable 在 com.actionbarsherlock.internal.ActionbarSherlockCompat.generateLayout(ActionbarSherlockCompat.java 1002)

我正在使用 4.1 版的 actionbar sherlock。每次第一个活动开始时,我都会收到此异常。我已经清理并重建了项目,检查了我的构建路径,但找不到丢失的东西。任何帮助都会很棒!

4

5 回答 5

11

使用 SDK Tools Preview 21和 ADT 预览时出现此错误。

使用 actionbarsherlock 膨胀菜单项时发生。getSupportMenuInflater().inflate(R.menu.search, menu);

恢复到 SDK Tools 20 修复了它。

日志错误:

11-03 09:29:44.738: E/AndroidRuntime(14878): java.lang.NoClassDefFoundError: com.actionbarsherlock.R$styleable
11-03 09:29:44.738: E/AndroidRuntime(14878):    at com.actionbarsherlock.view.MenuInflater$MenuState.readItem(MenuInflater.java:343)
11-03 09:29:44.738: E/AndroidRuntime(14878):    at com.actionbarsherlock.view.MenuInflater.parseMenu(MenuInflater.java:162)
11-03 09:29:44.738: E/AndroidRuntime(14878):    at com.actionbarsherlock.view.MenuInflater.inflate(MenuInflater.java:112)
于 2012-11-03T09:59:32.960 回答
3

如果您将 Eclipse 开发环境与 ADT 插件版本 0.9.7 或更高版本一起使用,则可以将ActionBarSherlock其作为库项目包含在内。使用 library/ 文件夹作为现有源在 Eclipse 中创建一个新的 Android 项目。然后,在您的项目属性中,将创建的项目添加到“Android”类别的“库”部分下。

用户手册的其余部分在这里

于 2012-07-12T16:09:14.440 回答
2

有同样的问题。更新到最新版本的 actionbarsherlock 并彻底清理对我有帮助。

于 2013-02-09T16:26:54.637 回答
0

这个问题可能是ADT版本引起的,我通过使用adt-bundle-windows-x86解决了这个问题。

于 2013-11-04T09:18:11.960 回答
0

这发生在我签署申请后。签名的 apk 返回上述错误,而在签名之前一切正常。关闭那个该死的 Eclipse 并重新启动它(内置重启选项不起作用)对我有用。

于 2015-04-10T09:14:31.993 回答