私はプロジェクトを新しい Android Native Development Kit (つまり JNI) に移行しています。SIGSEGV が発生した場合 (おそらく SIGILL、SIGABRT、SIGFPE) をキャッチして、適切なクラッシュ レポート ダイアログを表示したいと考えています。 (またはその前に)現在何が起こっているか:プロセスの突然の突然の終了と、おそらくOSによる再起動の試み。(編集: JVM/Dalvik VM はシグナルをキャッチし、スタック トレースやその他の有用な情報をログに記録します。その情報を実際にメールで送信するオプションをユーザーに提供したいだけです。)
状況: 私が書いていない大量の C コードが、このアプリケーション (すべてのゲーム ロジック) のほとんどの作業を行っており、他の多くのプラットフォームで十分にテストされていますが、私の Android でポートは、ガベージをフィードし、ネイティブ コードでクラッシュを引き起こすため、現在 Android ログに表示されているクラッシュ ダンプ (ネイティブと Java の両方) が必要です (Android 以外の状況では stderr になると思います)。C コードと Java コードの両方を任意に変更することは自由ですが、コールバック (JNI に出入りする両方) の数は約 40 であり、明らかに、小さな差分にはボーナス ポイントがあります。
J2SE のシグナル チェーン ライブラリである libjsig.so について聞いたことがあります。そのようなシグナル ハンドラを Android に安全にインストールできれば、質問のキャッチ部分は解決しますが、Android/Dalvik 用のライブラリはありません。 .