Skip to content

Most visited

Recently visited

navigation

事前ビルドされた APK のプロファイルとデバッグ

Android Studio 3.0 では Android Studio プロジェクトから APK をビルドすることなく、APK のプロファイルとデバッグができます。 ただし、デバッグ可能なバージョンの APK を使用する必要があります。

APK のデバッグを開始するには、まず Android Studio のウェルカム画面で [Profile or debug APK] をクリックします。 既にプロジェクトを開いている場合は、メニューバーで [File] > [Profile or debug APK] をクリックしてください。 次のダイアログ ウィンドウで Android Studio にインポートしたい APK を選択して、[OK] をクリックします。 すると、図 1 のような画面が表示されます。

図1. 事前ビルドされた APK を Android Studio にインポート

注: APK を Android Studio にインポートすると、IDE によって自動的に新しいプロジェクトがホーム ディレクトリに作成され、ターゲット APK のローカルコピーが生成されます。 そのため、元の APK の再ビルドや更新を行った場合は、その更新後のバージョンを手動で Android Studio に再度インポートする必要があります。

[Project] ペインの [Android] ビューでは、次のような APK の中身を確認できます。

Android Profiler を使用して、すぐにアプリの評価を始めることは可能ですが、現時点でこのプロファイラはアプリの Java プロセスにしか対応していません。 ブレークポイントを使ってアプリの Java およびネイティブのコードをデバッグするには、まず Java ソースをアタッチし、さらにネイティブのデバッグ シンボルをアタッチする必要があります。

Java ソースのアタッチ

Android Studio はデフォルトで APK から Java コードを抽出して、それらを .smali ファイルとして保存します。 ブレークポイントを使って Java コードをデバッグするには、デバッグしたい各 .smali ファイルに Java ソースをアタッチする必要があります。

Java ソースをアタッチする手順は次のとおりです。

  1. [Project] ペインで([Android] ビューを表示して).smali ファイルをダブルクリックします。 ファイルを開くと、図 1 のようにエディタに黄色い警告バナーが表示され、Java ソースを選択するよう促されます。
  2. エディタ ウィンドウ上部の [Attach Java Sources] をクリックします。

  3. アプリの Java ソースがあるディレクトリに移動して [Open] をクリックします。

[Project] ウィンドウでは、IDE によって .smali ファイルが対応する .java ファイルに置き換えられます。 これで通常どおりにブレークポイントを追加してアプリをデバッグできます。

ネイティブのデバッグ シンボルのアタッチ

APK 内のネイティブ ライブラリ(.so ファイル)にデバッグ シンボルが含まれていない場合は、図 1 のように IDE の [Messages] ウィンドウに警告が表示されます。 APK のネイティブ コードをデバッグしたり、ブレークポイントを使用したりするには、デバッグ可能なネイティブ ライブラリをアタッチする必要があります。 まだ NDK とツールをダウンロードしていない場合は、必ずダウンロードしてください。

デバッグ可能なネイティブ ライブラリをアタッチする手順は次のとおりです。

  1. [Project] ウィンドウの cpp ディレクトリ配下で、デバッグ シンボルを含まないネイティブ ライブラリ ファイルをダブルクリックします。 これにより、その APK でサポートされる ABI の一覧がエディタ ウィンドウに表示されます。

  2. エディタ ウィンドウの右上にある [Add] をクリックします。

  3. アタッチしたいデバッグ可能なネイティブ ライブラリがあるディレクトリに移動して、[OK] をクリックします。

  4. APK とデバッグ可能なネイティブ ライブラリが異なるワークステーションで作成されている場合は、次の手順でデバッグ シンボルのローカルパスを指定する必要があります。

  5. 図 2 に示すように、エディタ ウィンドウの [Path Mappings] セクションで [Local Paths] 列のフィールドを編集し、不足しているデバッグ シンボルへのローカル パスを追加します。すると IDE により、リモート NDK へのパスがローカルにダウンロードした NDK へのパスに自動的に紐づけられます。

  6. [Apply] をクリックします。

    図2. ローカルのデバッグ シンボルへのパスを指定

[Project] ウィンドウにネイティブのソースファイルが表示されます。 これで、通常どおりにネイティブのファイルを開いてブレークポイントを追加し、アプリをデバッグできます。

既知の問題点: APK にデバッグ シンボルを追加するには、APK とデバッグ可能な .so ファイルがともに同じワークステーションまたはビルドサーバーで作成されている必要があります。

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

WeChat で Google Developers をフォローする

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)