【问题标题】:NoClassDefFoundError when using ActionbarSherlock使用 ActionbarSherlock 时出现 NoClassDefFoundError
【发布时间】:2013-05-25 16:32:04
【问题描述】:

我试图调试这个,但不知道为什么它不起作用。

这是 logcat 输出:

05-25 17:28:39.251: E/AndroidRuntime(1008): FATAL EXCEPTION: main
05-25 17:28:39.251: E/AndroidRuntime(1008): java.lang.NoClassDefFoundError: com.actionbarsherlock.widget.SuggestionsAdapter
05-25 17:28:39.251: E/AndroidRuntime(1008):     at com.actionbarsherlock.widget.SearchView.updateSearchAutoComplete(SearchView.java:1132)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at com.actionbarsherlock.widget.SearchView.setSearchableInfo(SearchView.java:370)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at com.liamwli.spotify.spotifycommunity.MainActivity.onCreateOptionsMenu(MainActivity.java:153)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at com.actionbarsherlock.app.SherlockActivity.onCreatePanelMenu(SherlockActivity.java:184)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at com.actionbarsherlock.ActionBarSherlock.callbackCreateOptionsMenu(ActionBarSherlock.java:559)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at com.actionbarsherlock.internal.ActionBarSherlockNative.dispatchCreateOptionsMenu(ActionBarSherlockNative.java:65)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at com.actionbarsherlock.app.SherlockActivity.onCreateOptionsMenu(SherlockActivity.java:149)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at android.app.Activity.onCreatePanelMenu(Activity.java:2498)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:407)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at com.android.internal.policy.impl.PhoneWindow.doInvalidatePanelMenu(PhoneWindow.java:769)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at com.android.internal.policy.impl.PhoneWindow$1.run(PhoneWindow.java:201)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at android.view.Choreographer.doCallbacks(Choreographer.java:562)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at android.view.Choreographer.doFrame(Choreographer.java:531)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at android.os.Handler.handleCallback(Handler.java:725)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at android.os.Handler.dispatchMessage(Handler.java:92)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at android.os.Looper.loop(Looper.java:137)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at android.app.ActivityThread.main(ActivityThread.java:5229)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at java.lang.reflect.Method.invokeNative(Native Method)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at java.lang.reflect.Method.invoke(Method.java:525)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:799)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
05-25 17:28:39.251: E/AndroidRuntime(1008):     at dalvik.system.NativeStart.main(Native Method)

我尝试禁用 proguard,以防万一,但没有运气。

我班的第 153 行是:

searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));

有人可以帮忙解决这个问题吗?

【问题讨论】:

标签: java android actionbarsherlock noclassdeffounderror


【解决方案1】:

【讨论】:

  • 发帖前没看到。
  • 它被添加为一个库 - 没有地方可以选择将它与项目一起导出。
  • @LiamW 您是引用库项目还是将 jar 添加到 /libs 文件夹?
  • @Raghunandan,你是什么意思?我在eclipse的偏好设置的Android部分添加了库项目。我没有使用 jar 文件。
  • @LiamW 您是否右键单击您的项目转到 java 构建路径选择 android 单击添加。浏览库项目并添加它。你这样做是我的意思吗?
【解决方案2】:

更新支持库和工具包,然后删除 libs 文件夹中的支持库 jar 文件为我解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-14
    • 2023-03-08
    • 2016-03-11
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多