我有一个非常奇怪的问题。当我在单击硬件菜单按钮(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.+' 作为我的 gradle 依赖项。
当我使用 Activity 时一切正常。
最佳答案
也报告于 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
。
更新 3/28/14:此错误似乎已在 Android Studio 0.5.3 中修复。
关于android - ActionBarActivity 在按下硬件菜单按钮后关闭。没有堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22509850/