lightbulb_outline Help shape the future of the Google Play Console, Android Studio, and Firebase. Start survey

端末の開発者向けオプションの設定

Android 端末の設定アプリに含まれる開発者向けオプションでは、アプリのパフォーマンス分析やデバッグに役立つシステム動作設定が可能です。たとえば、USB デバッグの有効化、バグレポートの取得、タップの視覚表示、画面更新時のスクリーン点滅、2D 描画への GPU レンダリングの使用など、さまざまな設定ができます。

開発者向けオプションとデバッグの有効化

図 1. 開発者向けオプション

Android 4.1 以前の端末では、[Developer options] 画面はデフォルトで表示されています。Android 4.2 以降の端末では、次の手順でこの画面を表示する必要があります。

  1. Settings アプリを開く。
  2. [System] を選択する(Android 8.0 以降のみ)。
  3. 一番下までスクロールして [About phone] を選択する。
  4. 一番下までスクロールして [Build number] を 7 回タップする。
  5. 前の画面に戻り、下の方に [Developer options] が表示されていることを確認する。

[Developer options] 画面の最上部で、このオプションを有効または無効にできます(図 1)。ここでは、有効にしておきましょう。無効にすると、端末と開発コンピュータ間の通信を伴わないものを除いて、大半のオプションが無効になります。

次に、少し下にスクロールして [USB debugging] を有効にします。これにより、USB 接続された端末が Android Studio や SDK ツール で認識され、デバッガなどのツールを利用できるようになります。

この画面で利用可能なその他のオプションについては、このページの以降の説明をご覧ください。

全般オプション

Android 8.0 以降では、[Quick settings developer tiles] をタップして、選択した開発者向けオプションをクイック設定パネルに追加できます。まず、利用可能なタイルを 1 つ以上選択して(図 2)、クイック設定パネルを開き、鉛筆のアイコンをタップして編集モードに移行します。次に、デベロッパー タイルをタイル ペインからクイック設定パネルにドラッグし、再び鉛筆のアイコンをタップして編集モードを終了します。

図 2. クイック設定パネルへの追加

その他の全般オプションは次のとおりです。

  • Memory: (Android 8.0 以降では)平均的なメモリの使用状況、メモリ パフォーマンス、使用可能なメモリ合計量、平均メモリ使用量、使用可能なメモリ残量、アプリによるメモリ使用量など、メモリに関する統計情報が表示されます。
  • Take bug report: 現在の端末ログファイルのコピーを取得して、共有できます。バグレポートが準備できると通知が送信され、その通知をタップするとレポートを共有できます。
  • System UI demo mode: 通知やバッテリー残量警告などを含まない一般的なプリセットの通知バーを表示すると、不要なものが含まれないスクリーンショットを簡単に撮影できます。[Enable Demo Mode] を有効にすると、adb デモモード コマンドを使用してステータスバーの見た目を変えることができます。または [Show Demo Mode] で通知を隠して、プリセットのステータスバーを表示することも可能です。
  • Desktop backup password: バックアップ パスワードを設定しておくと、パスワード保護がかかった端末アプリやデータを、adb コマンドを使用してバックアップおよび復元できます。
  • Stay awake: 充電中は常にディスプレイをオンにしておくことができます。
  • Enable Bluetooth Host Controller Interface (HCI) snoop log: /sdcard/btsnoop_hci.log ファイルに保存されたすべての Bluetooth HCI パケットを取得します。取得したパケットを Wireshark などのプログラムで分析して、その情報を問題解決に役立てることができます。

デバッグ

図 3. デバッグ オプションの有効化

デバッグ オプションでは、実機デバッグの設定や、端末と開発コンピュータ間の通信の確立ができます。

[USB debugging](図 3)を有効にすると、Android Debug Bridge (adb) を介して Android 端末と開発マシンで通信が可能になります。[Wait for Debugger] オプションは、[Select debug app] でデバッグ対象のアプリを選択するまでは無効になっています。[Wait for Debugger] を有効にすると、選択したアプリはデバッガがアタッチされるのを待ってから起動します。

その他のデバッグ オプションは次のとおりです。

  • Store logger data persistently on device: 端末に永続的に保存したいログメッセージの種類を、オフ、すべて、無線情報以外すべて、カーネルのみ、の中から選択できます。
  • Select mock location app: このオプションを使用して端末の GPS 位置情報を擬似的なものに変更すると、他の場所でもアプリが同じように機能するかをテストすることができます。なお、このオプションを使うには、GPS 位置情報を偽装できるアプリをダウンロードしておく必要があります。
  • 図 4. ビュー属性

  • Enable view attribute inspection: View インスタンスの mAttributes メンバ変数にビューの属性情報を保存して、それをデバッグに利用できます。この属性情報には、図 4 のように Layout Inspector を介してアクセスできます(このオプションを有効にしておかないと、"Attributes" アイテムを利用できません)。

ネットワーク

図 5. USB 設定の選択

ネットワーク オプションでは、Wi-Fi と DHCP の設定が可能です。

[Select USB Configuration] をタップすると、コンピュータで端末を認識する方法を指定できます。図 5 のように、充電のみ、ファイル転送(MTP)、画像転送(PTP)、PC でのモバイル インターネット使用(RNDIS)、オーディオまたは MIDI ファイルの転送の中から選択できます。

[Bluetooth AVRCP version] をタップすると、端末がアクセスする全 Bluetooth AV 機器の制御に使用するプロファイル バージョンを選択できます。端末上でのオーディオ再生に関して、さらに詳細な調整を行うには、次のオプションをタップして設定を行います。

  • Bluetooth Audio Codec: 次の中から任意のコーデックを選択して、端末の音質(コーデック)を調整します。
    • SBC: ヘッドフォンやスピーカーなどの Bluetooth オーディオ出力機器への転送データ
    • AAC: 同じビットレートの MP3 に比べて有線接続端末からの音質が良い
    • aptX:スマートフォン、スピーカー、サウンドバー、ヘッドフォン、タブレットにおいて高音質でクリアなワイヤレス サウンド
    • aptX HD: Bluetooth 端末への高音質ストリーミング
    • LDAC: ワイヤレス接続で高音質の音楽を聴くことが可能
    • Enable Optional Codecs および Disable Optional Codecs: 追加のコーデック実装をインストールしている場合は、そのオプションを有効および無効にできます。
  • Bluetooth Audio Sample Range: オーディオ コーデックのサンプルレートを選択して、1 秒あたりのオーディオ サンプル回数を調整します。サンプルレートが高いほど必要なリソースは増えます。
  • Bluetooth Audio Bits Per sample: 各オーディオ サンプルにおける情報ビット数を指定します。ビットレートが高いほど音質は良くなりますが、サンプル ファイルは大きくなります。
  • Bluetooth Audio Channel Mode: モノラルまたはステレオを選択します。
  • Bluetooth Audio LDAC Codec: サウンドの最適化による音質改善、オーディオとネットワークの品質バランス調整、ネットワーク品質の改善、アダプティブ ビットレートによるオーディオとネットワークの品質バランス調整が可能です。

その他の Wi-Fi と DHCP の設定は次のとおりです。

  • Wireless display certification: Wi-Fi Alliance Wi-Fi Display Specification に記載されている一連の仕様に基づくワイヤレスディスプレイ認証用に、高度な構成制御および設定を有効にできます。この認証は Android 4.4(API レベル 19)以上が対象です。
  • Enable Wi-Fi verbose logging: 受信信号強度(RSSI)に応じて、接続している各ワイヤレス ネットワークの Wi-Fi ログレベルをアップします。ログの詳細につては、logcat を使用したログの出力と確認をご覧ください。
  • Aggressive Wi-Fi to cellular handover: 信号が弱い場合にデータ接続をセルラー ネットワークにハンドオーバーして、Wi-Fi を効率的に使用します。

入力

図 6. ポインタの位置

[Show taps] を有効にすると、画面上のタップを視覚的に表示できます。指やタッチペンで画面に触れると丸が表示され、そのまま画面上を移動すると、丸の位置も一緒に動きます。端末の動画を録画すると、タップはポインタのように振る舞います。

[Pointer Location] を有効にすると、十字線とともに端末上のポインタ(タップ)の位置が表示されます。画面の上部には、十字線の座標を追跡するためのバーも表示されます(図 6)。ポインタを動かすと、十字線の位置座標がバー内に常に表示され、ポインタの軌道が画面上に描画されます。

描画

図 7. ユーザー インターフェース構成

描画オプションでは、アプリのユーザー インターフェースにおける表示情報や動作を確認できます。

[Show Layout Bounds] を有効にすると、図 7 のように、アプリのクリップの境界線やマージンなど、端末上のユーザー インターフェース構成が表示されます。

その他の描画オプションは次のとおりです。

  • Force RTL layout direction: 画面レイアウト方向を強制的に右から左(RTL)または左から右(既定値)に指定します。
  • Window animation scale: ウィンドウ アニメーションの再生速度を設定して、さまざまなスピードでのパフォーマンスを確認できます。このスケールの値が小さいほど、スピードは速くなります。
  • Transition animation scale: 遷移アニメーションの再生速度を設定して、さまざまなスピードでのパフォーマンスを確認できます。このスケールの値が小さいほど、スピードは速くなります。
  • Simulate secondary displays: 端末上にオーバーレイとして 2 次画面を作成します。これは、Presentation API を使用して追加ディスプレイをサポートする場合に便利なオプションです。詳細は Secondary Displays をご覧ください。

ハードウェア アクセラレーテッド レンダリング

図 8. 第二色弱の色空間

ハードウェア アクセラレーテッド レンダリングオプションでは、GPU、ハードウェア レイヤー、マルチサンプル アンチエイリアス(MSAA)などのハードウェア ベースのオプションを利用して、対象となるハードウェア プラットフォーム向けにアプリを最適化することができます。

[Simulate color space] をタップすると、端末 UI 全体の配色を変更できます。このオプションは、色覚異常の各タイプに対応しています。選択できる項目は、無効(配色シミュレートなし)、全色盲(黒、白、灰色)、第二色弱(赤緑)、第一色弱(赤緑)、第三色弱(青黄)です。第一色弱は赤色が見えづらい赤緑色盲で、第二色弱(図 8)は緑色が見えづらい赤緑色盲です。

色空間をシミュレートした状態でスクリーンショットを撮影しても、配色を変更していない通常の色で表示されます。

その他のハードウェア ベース オプションの利用方法は次のとおりです。

  • Set GPU rederer: デフォルトの Open GL グラフィック エンジンを Open GL Skia グラフィック エンジンに変更します。
  • Force GPU rendering: デフォルトで GPU レンダリングを使用せずに描画している場合、アプリの 2D 描画に常に GPU を使用します。
  • Show GPU view updates: GPU で描画された画面上の要素を表示します。
  • Debug GPU overdraw: 同一フレーム内で同じピクセルの描画が何度発生したかを、端末上で色分けして視覚化します。これにより、アプリで不要なレンダリングをしている箇所を特定できます。詳細については GPU Overdraw の視覚化をご覧ください。
  • Debug non-rectangular clip operations: キャンバス上のクリップ領域を無効にして、特殊な(非矩形)キャンバス領域を作成します。一般的に、丸いクリップ領域の境界外には描画できません。
  • Force 4x MSAA: Open GL ES 2.0 アプリでマルチサンプル アンチエイリアス(MSAA)を有効にします。
  • Disable HW overlays: ハードウェア オーバーレイを使用すると、各アプリでは、より低い処理能力で画面表示ができます。オーバーレイを使用しない場合は、アプリ側でビデオメモリを共有して、適切な画像をレンダリングするために常に競合とクリッピングの確認をしなければなりません。この確認には高い処理能力が必要になります。

メディア

図 9. バー表示

[Disable USB audio routing] を有効にすると、USB ポートを介してコンピュータと接続されている外部オーディオ機器への自動ルーティングが無効化されます。自動ルーティングは、USB を認識するアプリの動作を妨げる場合があります。

モニタリング

モニタリング オプションでは、スレッド上の長い処理や GPU 動作など、アプリのパフォーマンス情報を視覚的に確認できます。

[Profile GPU Rendering] をタップして [On screen as bars] を選択すると、GPU レンダリングのプロファイルが図 9 のようにバーで表示されます。詳細については Profile GPU rendering をご覧ください。

アプリ

図 10. バックグラウンド プロセスの上限

アプリ オプションは、ターゲット端末上でのアプリの動作を把握するのに役立ちます。

[Background process limit] をタップすると、一度にバックグラウンドで実行できるプロセスの数を設定できます。選択できる項目は、図 10 のとおりです。

テスト中に [Reset ShortcutManager rate-limiting] をタップすると、バックグラウンド アプリは、再びレートの上限に達するまでショートカット API を呼び続けることができます。ショートカットとレートの制限の詳細については、ShortcutManager をご覧ください。

[Don't keep activities] を有効にすると、ユーザーが離れた activity は直ちに破棄されるため、電池寿命が長くなります。