Android向けNDKおよびJNIのデバッグ

この記事では、Androidのコードデバッグに焦点を当てます。

最近、この方向に多くの進歩がありました。 Android Studioが登場し、GoogleはEclipseでのネイティブコードのデバッグのサポートを追加しました。

Javaのみをデバッグする必要がある場合は、Android Studioでニーズを完全に満たします。

C ++またはJavaコードを使用したデバッグが必要な場合は、Eclipseが組み込まれたADTバンドルが問題の解決に役立ちます。

簡単に言えば



一部のデバイスでは、マニフェストでdebuggableをtrueに設定する必要があります

ただし、c ++とJava関数が交互に機能するjniコードをデバッグする必要がある場合、選択したデバッグ方法(Androidネイティブアプリケーション、Androidアプリケーション)に応じてc ++またはJavaコードデバッグが機能するため、このメソッドは機能しません。

混合コードのデバッグ方法については、この記事の後半で説明します。



システム全体の基盤は、 Android NDK向けNVIDIA Debug Managerであり 、Tegraプラットフォームのデバッグ用であるという声明にもかかわらず、あらゆるAndroidプラットフォームをデバッグすることができます。



ADTバンドルにAndroid NDK用のNVIDIA Debug Managerをインストールできなかったため、独自のアセンブリを行う必要がありました。



まず、必要なもののリスト。

  1. Eclipse(ケプラーをお勧めします )のダウンロードは、C / C ++開発者向けのStandartまたはIDEに適しています
  2. スタンドアロンのAndroid SDKツールページの下部既存のIDEのSDKを入手する
  3. NDK x64 Androidでまだ作成していない場合は、プラットフォーム(32ビットターゲット)が必要です
  4. Tegra Android Development Packの登録には、ダウンロードが必要です




インストール手順

1. Eclipseをインストールします-好きな場所に展開するだけです

2. ADTをインストールします-どこでも解凍し、\ tools \ androidを実行します-必要なプラットフォームを追加します
私はそのようなセットを十分に持っていました
画像






3. NDKのインストール-どこでも解凍

4. EclipseにADTプラグインをインストールする

取扱説明書
  1. Eclipseを起動し、[ヘルプ]> [新しいソフトウェアのインストール]を選択します。
  2. 左上の[追加]をクリックします。
  3. [リポジトリの追加]ダイアログで、[名前]フィールドに「ADTプラグイン」と入力し、 dl-ssl.google.com/android/eclipse



    dl-ssl.google.com/android/eclipse



    場所]フィールドの dl-ssl.google.com/android/eclipse



  4. [利用可能なソフトウェア]ダイアログで、[開発ツール]の反対側のチェックボックスをオンにして、[次へ]をクリックします
  5. 次のウィンドウで、もう一度[次へ]をクリックします。
  6. ライセンス契約を読んで同意します
  7. インストール中にセキュリティ警告が表示された場合は、[OK]をクリックするだけです
  8. Eclipseを再起動します
  9. [Android開発へようこそ]ウィンドウで、[既存のSDKを使用する]を選択し、インストールされているSDKへのパスを指定します
  10. Eclipse-> Preference-> Android-> NDKに移動し、NDKへのパスを指定します


オリジナル



5. Tegra Android Development Packインストーラーを起動します-Android NDK用のNVIDIA Debug Managerのみが必要です

6.インストールフォルダーにNVDebugMgrForAndroidNDK * .zipがあります。

7. eclipse Help-> Install New Software-> Add-> Archiveを実行し、インストールされたzipファイルへのパスを表示し、NVIDIA Debug ManagerにDawを配置し、提供されるすべてに同意します

8. Android NDKアプリケーションとしてデバッグのリストの最後のステップ(一部のデバイスでは、GDBが見つからなかったと言う場合があります。AndroidにバンドルされたNDKアプリケーション-> GDBサーバー設定にAPKがバンドルされていることを確認してください)
スクリーン
画像








JavaとC ++コードの両方でブレークポイントが機能するようになりました

NDK 10で突然問題が発生した場合は、r9dを試してください

ここにいくつかのバージョンへのリンクがあります

android-ndk-r9d-windows-x86_64.zip

android-ndk-r9d-darwin-x86_64.tar.bz2

android-ndk-r9d-linux-x86.tar.bz2



All Articles