質問: ネイティブコードで作られたandroidライブラリを64bitアーキテクチャ有効でビルドし、実機で動作確認したのですが、正常に動作しませんでした。そこでデバッグしようと考えているのですが、ネイティブコードで作られたライブラリは一般的にどのようにデバッグをしているのでしょうか。 初歩的な質問で申し訳ありませんが、ご教示願います。
回答: Android Studio が比較的新しい前提ですが、通常は Android Studio で Native デバッグを有効にしてデバッグします。 に記載のあるデバッグタイプで Native か Hybrid を選択します。Android NDK を導入していれば選択可能になっているかと思います。 これを選択すると Android Studio の C コード上でブレークポイント等を設定することができるようになります。NativeActivity や通常アクティビティの onCreate 部分をデバッグする必要がある場合、端末側の開発者オプションでデバッグアプリケーションとして選択しておく必要があります。 あと、ほとんどの場合、エミュレータではデバッグできないため実機が必要となります。 タイトルでライブラリのデバッグというのを見落としていましたが、デバッグビルドの ARR または Jar とリリースビルドの APK を組み合わせてデバッグすることは可能です。Java の場合、minifyEnabled を false に設定しないとデバッグするのが難しいですが、Native の場合、ライブラリ側だけデバッグを有効にしてください。その場合、APK デバッグを実施することになるので、以下のページを参考に設定してみてください。 などと書いていますが、実際のところ自分でやるにはわざわざ修正したライブラリを APK にビルドしなおして実機に送ってってやるのが面倒なので、APK 側も1プロジェクトに含めてデバッグしてるんですけどね。 他の手法としてクラッシュダンプで原因解析することも可能なようです。やったことはありませんが、以下のページに情報があります。