アプリにこのコードがあります(private
native
メソッドを呼び出しています)
Method m;
try {
m = Time.class.getDeclaredMethod("format1", String.class);
m.setAccessible(true);
return (String) m.invoke((Time) this, format);
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
これTime
はandroid.text.format.time
クラスであり、このコードを拡張するクラスで実行しますTime
。
問題は、アプリ内でエラーが発生せず、アプリが突然閉じてしまうことです。(強制閉鎖なし)
logcat には、次のようなものがあります。
A/libc(9193): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)
I/DEBUG(15804): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG(15804): Build fingerprint: 'google/soju/crespo:4.0.4/IMM76D/299849:user/release-keys'
I/DEBUG(15804): pid: 9193, tid: 9193 >>> com.myapp <<<
I/DEBUG(15804): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
I/DEBUG(15804): r0 00000000 r1 bed564a0 r2 bed565a1 r3 00000000
I/DEBUG(15804): r4 4008a55c r5 00000000 r6 bed565cc r7 016b58b9
I/DEBUG(15804): r8 bed565a1 r9 4020b9a4 10 bed5647c fp bed5663c
I/DEBUG(15804): ip ffffff1c sp bed5639c lr 4006c58d pc 4006c14c cpsr 20000030
...
それを修正する方法について何か考えはありますか?