我有一个非常奇怪的问题.当我在单击硬件菜单按钮(使用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.
2014年3月28日更新:此错误似乎已在Android Studio 0.5.3中得到修复.