我有一个非常奇怪的问题。当我在单击硬件菜单按钮(使用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时,一切正常。
答案 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是错误的。