問題タブ [ndk-gdb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - android package is not debuggable error Android Studio NDK
私はデバッグ可能な APK を持っていることを知っており、ファイルが自分の電話にプッシュされていることを示す次の出力に基づいて、電話で実行しています。
しかし、GDB を実行すると、apk がデバッグ可能ではないというエラーが表示されます。
これは、プロジェクトの /main ディレクトリから gdb を呼び出すためだと思います。これは、GDB が実行を開始する唯一の場所です。また、ファイル構造の別のブランチから離れているデバッグ可能なファイルは表示されません。下記を参照してください:
問題は、プロジェクトのルートから実行し、デバッグ可能なファイルを使用するように指示する必要がある GDB をどのように実行するかです。
android - ndk-gdb が gdb.setup を見つけることができません
ndk-gdb を使用して、ネイティブ Android プロジェクトをデバッグしようとしています。コマンド ndk-gdb を実行すると、エラーが発生します
説明
- MacOSX、ndk r10e を実行しています。ndk サンプル サン アンジェルスの使用
- こちらの手順に従って、ネイティブ デバッグをセットアップしますhttps://developer.android.com/ndk/guides/ndk-gdb.html
- 基本的に、私は android:debuggable="true", APP_OPTIM := debug を設定し、ndk-build NDK_DEBUG=1 を使用してネイティブをビルドしました (これら 3 つの設定は不要かもしれませんが、念のため)
- ant debug、adb install を使用してインストールしました。アプリを実行し、アプリは正常に動作します
ndk-gdb --verbose を実行すると生成されます
ndk-gdb --verbose
Android NDK のインストール パス:
デフォルトの adb コマンドを使用:
ADB のバージョンが見つかりました: Android Debug Bridge バージョン 1.0.32
ADB フラグの使用:
JDB コマンドの使用:
自動検出されたプロジェクト パスを使用: .
見つかったパッケージ名:
com.example.SanAngeles
アプリケーションが対象とする ABI: arm64-v8a armeabi armeabi-v7a armeabi-v7a mips mips64 x86 x86_64
デバイス API レベル: 19
デバイス CPU ABI: x86
互換性のあるデバイス ABI:
gdb セットアップ初期化の使用:
ツールチェーン プレフィックスの使用:
アプリ出力ディレクトリの使用: ./obj/local/armeabi
デバッグ可能なフラグが見つかりました:
true
エラー:
/li>
android-ndk - 最新の ndk-gdb がデバイスに接続できない
ndk-gdb を使用してネイティブ アプリケーションをデバッグする際に問題が発生します。これは私の環境です:
- OS X El キャプテン 10.11.5
- NDK バージョン r12
- SDK バージョン 24
- ビルド ツール バージョン 24.0.0
- Android N を搭載した Nexus 6P 端末(NPD35K)
問題:
起動しようとndk-gdb
すると、常にメッセージで失敗します
ただし、gdbserver
アプリが一時停止されているため、インスタンスは既に起動されており、リストに表示gdbserver
されていadb shell ps
ます。
私が試したこと:
- スクリプト
で開始
gdbserver
する代わりに、手動で起動し、 実行が継続することを確認しましたndk-gdb
gdbserver
adb run-as
gdbserver
によってソケットフォワードを行います
adb forward :5039 localfilesystem:/the_gdb_socket_path
netstat -na | grep 5309
ポートがリッスンしていることを確認するために使用しますtelnet localhost 5039
ソケットをテストするために使用しますが、エラーが発生しますConnection closed by foreign host
接続時にリモート gdb が失敗した問題の原因を特定するより良い方法はありますか?
android-ndk - 2 つのデバイスに接続された ndk-gdb を実行できますか?
2 つのデバイスに接続された ndk-gdb の 2 つのインスタンスを実行しようとしています。
しかし、このページに基づいて、私はそれを行う方法を見つけることができません...
https://developer.android.com/ndk/guides/ndk-gdb.html
adb上で実行されているndk-gdbの2つのインスタンスに2つの別々のデバイスを接続することさえ可能ですか?
android - Android Studio がコア ダンプを生成する CMake
Android Studio アプリケーションのコア ダンプを生成しようとしています。Java で書かれていますが、ネイティブ ライブラリでクラッシュが発生しているため、コアダンプを生成しようとしています。
Android.mk ではなく、cmake を使用してネイティブ ライブラリを構成しています。
だから私が実行しようとすると、次のようndk-gdb
になります:
アプリケーションで CMake を使用しているときにコア ダンプを取得するにはどうすればよいですか? どうすれば走ることgdb
ができますか?
android - ndk-gdb の「Android.mk からアプリケーション ABI を取得できませんでした」エラー
ndk-gdb ツールを使用してネイティブ Android アプリをデバッグしようとしています。ndk-gdb を実行すると、次のエラーが発生します。
"/home/amila/Android/Ndk/android-ndk-r20/build/core/add-application.mk:88: *** Android NDK: 中止しています... . 停止します。エラー: Android からアプリケーション ABI を取得できませんでした.mk."
コマンドを使用してネイティブ パーツをビルドndk-build
しましたが、アプリは Android Studio で問題なくビルドされています。
jni ディレクトリ: /ndktest/jni (ndktest はアプリ名)
ndk-gdb
AndroidManifest.xml が存在するディレクトリ (/ndktest/app/src/main) でコマンドを実行しました。
私もAPP_ABI := arm64-v8a
Android.mk に追加してみましたが、何も変わりませんでした。
jni/Android.mk
jni/アプリケーション.mk
ndk-gdb
ツールを実行してもエラーは発生しません。