2019年11月25日月曜日

近況

最近開発に没頭していたので、更新が滞ってます。
販売しているAndroidアプリに新機能を搭載することにしたので、そのための調査とコーディングが大変なのです。
XamarinのプロジェクトにJavaソースを加えて、C#からJavaをコールする方法(Managed Callable Wrapper、通称MCWが必要)や、C++ソースを加えてJNIで呼び出す方法など、色々勉強になりました。
C++のライブラリ(.SO)側でSignalを発行するような致命的エラーが発生した場合に、これをAndroidのVM側で検知する方法がまだわかりません(エラーと同時にアプリも落ちてしまう)。
C++側でSignalハンドラをフックして、Javaの例外に変換する方法があるようなのですが、JavaVM自体はSignalハンドラを利用して色々やっているらしく、ハンドラをフックするとハングアップするなど、うまくいきません。
平日は2時間くらいしか時間が取れず、土日も色々忙しいので…。