按下硬件菜单按钮后,ActionBarActivity关闭。没有堆栈跟踪

时间:2014-03-19 14:59:54

标签: android android-actionbar-compat android-appcompat

我有一个非常奇怪的问题。当我在单击硬件菜单按钮(使用Android 2.3的设备)后使用ActionBarActivity时,应用程序意外关闭而没有任何特定错误。 Logcat仅提供:

W/KeyCharacterMap﹕ No keyboard for id 0
W/KeyCharacterMap﹕ Using default keymap: /system/usr/keychars/qwerty.kcm.bin
30-30/? I/DEBUG﹕ *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
03-19 15:54:48.612        30-30/? I/DEBUG﹕ Build fingerprint: 'generic/sdk/generic/:2.2/FRF91/43546:eng/test-keys'
03-19 15:54:48.612        30-30/? I/DEBUG﹕ pid: 785, tid: 785  >>> com.myapp <<<
03-19 15:54:48.612        30-30/? I/DEBUG﹕ signal 11 (SIGSEGV), fault addr 00000002
03-19 15:54:48.612        30-30/? I/DEBUG﹕ r0 00000000  r1 00000001  r2 00000001  r3 00000002
03-19 15:54:48.612        30-30/? I/DEBUG﹕ r4 bead28a4  r5 0000aa50  r6 001240a8  r7 0022b860
...

代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main, menu);

    return false;
}

如果main.xml包含任何元素,则会出现此问题。

我使用的是com.android.support:appcompat-v7:19.0。+&#39;作为我的gradle依赖。

当我使用Activity时,一切正常。

2 个答案:

答案 0 :(得分:8)

同样在Android App crashes upon menu button click报道,这似乎是最新的0.9.1版gradle的一个问题,我可以确认它杀死了Froyo以及Gingerbread上的应用程序。详细了解类似问题here和其他报告here。该问题似乎与新的png处理器有关。正如uchidev所提到的,现在的解决方案是通过更改build.gradle来使用gradle 0.9.0。

要还原的其他suggestion:您可以将android.aaptOptions.useAaptPngCruncher = true添加到build.gradle

2014年3月28日更新:此错误似乎已在Android Studio 0.5.3中修复。

答案 1 :(得分:1)

我今天遇到了同样的问题。 请将build.gradle文件的'com.android.tools.build:gradle:0.9.+'更改为'com.android.tools.build:gradle:0.9.0'并同步项目。 我认为Gradle插件版本0.9.1是错误的。