android - Android 1.6 上的 java.lang.VerifyError 和 getActionBar()

标签 android android-actionbar verifyerror

在我的应用程序中,我使用了这段代码:

@TargetApi(14)
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    if(android.os.Build.VERSION.SDK_INT>=14) {
        getActionBar().setHomeButtonEnabled(false);
    }

}

但是当我在 Android 1.6 的模拟器中运行它时,我得到了这个错误:

04-24 09:01:16.562: E/dalvikvm(922): Could not find method com.myname.myapp.MainActivity.getActionBar, referenced from method com.myname.myapp.MainActivity.onCreate
04-24 09:01:16.562: W/dalvikvm(922): VFY: unable to resolve virtual method 1014: Lcom/myname/myapp/MainActivity;.getActionBar ()Landroid/app/ActionBar;
04-24 09:01:16.562: W/dalvikvm(922): VFY:  rejecting opcode 0x6e at 0x0155
04-24 09:01:16.562: W/dalvikvm(922): VFY:  rejected Lcom/myname/myapp/MainActivity;.onCreate (Landroid/os/Bundle;)V
04-24 09:01:16.572: W/dalvikvm(922): Verifier rejected class Lcom/myname/myapp/MainActivity;
04-24 09:01:16.572: W/dalvikvm(922): Class init failed in newInstance call (Lcom/myname/myapp/MainActivity;)
04-24 09:01:16.572: D/AndroidRuntime(922): Shutting down VM
04-24 09:01:16.572: W/dalvikvm(922): threadid=3: thread exiting with uncaught exception (group=0x4001aa28)
04-24 09:01:16.572: E/AndroidRuntime(922): Uncaught handler: thread main exiting due to uncaught exception
04-24 09:01:16.582: E/AndroidRuntime(922): java.lang.VerifyError: com.myname.myapp.MainActivity
04-24 09:01:16.582: E/AndroidRuntime(922):  at java.lang.Class.newInstanceImpl(Native Method)
04-24 09:01:16.582: E/AndroidRuntime(922):  at java.lang.Class.newInstance(Class.java:1472)
04-24 09:01:16.582: E/AndroidRuntime(922):  at android.app.Instrumentation.newActivity(Instrumentation.java:1097)
04-24 09:01:16.582: E/AndroidRuntime(922):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2316)
04-24 09:01:16.582: E/AndroidRuntime(922):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
04-24 09:01:16.582: E/AndroidRuntime(922):  at android.app.ActivityThread.access$2100(ActivityThread.java:116)
04-24 09:01:16.582: E/AndroidRuntime(922):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
04-24 09:01:16.582: E/AndroidRuntime(922):  at android.os.Handler.dispatchMessage(Handler.java:99)
04-24 09:01:16.582: E/AndroidRuntime(922):  at android.os.Looper.loop(Looper.java:123)
04-24 09:01:16.582: E/AndroidRuntime(922):  at android.app.ActivityThread.main(ActivityThread.java:4203)
04-24 09:01:16.582: E/AndroidRuntime(922):  at java.lang.reflect.Method.invokeNative(Native Method)
04-24 09:01:16.582: E/AndroidRuntime(922):  at java.lang.reflect.Method.invoke(Method.java:521)
04-24 09:01:16.582: E/AndroidRuntime(922):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
04-24 09:01:16.582: E/AndroidRuntime(922):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
04-24 09:01:16.582: E/AndroidRuntime(922):  at dalvik.system.NativeStart.main(Native Method)

当我删除行 getActionBar().setHomeButtonEnabled(false);它工作正常。如何在不删除此行的情况下修复它?

最佳答案

使用 android-support-v4.jar 就像在隐藏它之后添加 ActionBar 一样。

希望你用过actiobarShareLock对于 < 11 API。

关于android - Android 1.6 上的 java.lang.VerifyError 和 getActionBar(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16188004/

相关文章:

java - Android Studio VerifyError 拒绝来自 JavaMail API 的类 text_plain

android - 如何实现类似 Google 搜索中的 ActionBar 滚动动画?

java - ActionBarDrawerToggle() 图标无法设置为 Android SDK 5 中的 ActionBar

java - 为什么java.lang.VerifyError是什么意思?

java - 如何将Android PopupMenu的背景设置为白色

android - 选项卡上方的自定义 SherlockActionBar 布局

WebSphere 中的 XPAthConstants.NODESET 出现 java.lang.VerifyError,但 Jetty 中没有

android - 如何停止父 Activity 的 Activity ?

android - 将 Single's<User> 的 Flowable 转换为 List<User> 的 Flowable

android - 是否可以通过视频标签播放位于 Android WebView 上下载文件夹内的 mp4 文件?