Mono Works

チラシのすきま

メモ:実機を使ってデバッグするのに準備が必要だったので

Xperia Z3 Compact SO-02Gで実機デバッグをしていた際には何も考えずに開発者モードをONにしてUSBケーブルでパソコンとXperia Z3 Compact SO-02Gを接続するだけで、Android Studio から Xperia Z3 Compact SO-02Gを認識してくれたのですが、Nexus7 2013ではUSBドライバを手動で導入する必要があったので、メモしておきます。

androiddevmemo20151003_00

Android 5.0以上で使うことができる機能を取り入れたサンプルを作ったのですが、いつものようにXperia Z3 Compact SO-02Gでデバッグしようとしたら、下記のエラーが出ました。そういえば、Xperia Z3 Compact SO-02Gは、いろいろあって4.4.4を維持していたので、5.0以上の機能は試せないんでした。

Failure [INSTALL_FAILED_OLDER_SDK]

そんなわけで、5.1.1なNexus7 2013を使って実機デバッグをおこなうと思ったのですが、今度はAndroid StudioからNexus7を認識してくれませんでした。どうやらXperia Z3 Compact SO-02Gは自動的にUSBドライバが適用されていたようですが、Nexus7の場合は手動でUSBドライバを適用する必要があるようです。

その辺も含めて、公式サイトの情報を基に、以下、実機デバッグの手順のメモです。

ハードウェア端末上でアプリを実行する  |  Android Developers

開発者向けオプションを有効にする

以前は、最初から設定に表示されていた「開発者向けオプション」ですが、Android 4.2以降は隠しモードになってます。Android 4.2より新しいバージョンの端末で「開発者向けオプション」を表示させるには、[設定] > [端末情報(タブレット情報)] 内の [ビルド番号] と書かれた箇所を7回タップします。これで[設定]メニューの下の方に [開発者向けオプション] という項目が追加されます。

実機デバッグの設定

  • 公式サイトでは、Android Studio側で、manifestファイルか build.gradleで「debuggable」となっていることを確認、と記載されてますが、とくに意識する必要はなさそうです。むしろ「手動で設定した場合は、リリース時に debuggable設定を外してね」という注意書きがあります。
  • Nexus7 2013の [設定] > [開発者向けオプション] > [USBデバッグ] をONにします。

なお、ここまでは、Xperia Z3 Compact SO-02Gでも同じ手順を踏みました。これ以降の手順については記憶がありません。別の手順で、もしくは自動的にドライバが適用されていたようです。

開発環境から端末を検出

開発環境によって、手順が異なります。

Mac上で開発している場合、とくに何もしなくても端末は認識されます。

Ubuntu Linux上で開発している場合、接続する端末の種類によってベンダーIDを設定してあげる必要がありますが、Ubuntuは使ってないので、公式サイトの該当箇所をご覧ください。

ハードウェア端末上でアプリを実行する  |  Android Developers

Windows上で開発している場合、adb(Android Debug Bridge)用のUSBドライバが必要です。USBドライバのインストールガイドやOEMドライバは、各端末メーカーのページを参照してくださいと書かれています。そして、各端末メーカーへのリンクが下記に記載されています。

OEM USB ドライバのインストール  |  Android Developers

Google Nexusシリーズの場合は、下記ページ、もしくは、SDKマネージャ経由でドライバファイルをダウンロードして適用します。SDKマネージャ経由でダウンロードした場合、ドライバファイルは、\Android\sdk\extras\google\usb_driverフォルダ配下にあります。

Google USB ドライバを入手する  |  Android Developers

Windows環境でのUSBドライバのインストール方法は、パソコンのデバイスマネージャから「ビックリマークのついた端末(今回の例では、Nexus7と表示されてます)」を右クリックして、ドライバの手動更新 > ダウンロードしたドライバファイルを参照 > Googleからのファイルを認証します。さっきの「ビックリマークのついたNexus7表示」が「Android Composite ADB Interface」に変わっていれば、下準備が完了です。

続いて、開発環境とNexus7 2013を接続します。

開発環境とNexus7 2013の接続

現在、Windows10のパソコンを開発環境として使用しています。このパソコンとNexus7 2013を通信可能なUSBケーブルで接続します。充電専用ケーブルはダメです。

すると、Nexus7 2013の画面に「USBデバッグを許可しますか?」というノーティフィケーションが表示されるので「OK」をタップ。

androiddevmemo20151003_01

Android Studioからデバッグを実行すると、Nexus7 2013が認識されました。これでAndroid5.x環境での実機デバッグもできるようになりました。よかったです。

androiddevmemo20151003_02

【参考サイト】

Using Hardware Devices | Android Developers

Google USB Driver | Android Developers

OEM USB Drivers | Android Developers

コメント

コメントなどありましたら、GitHubのディスカッションへお願いします。(書き込みには、GitHubのアカウントが必要です)
執筆者
"ぽぽろんち" @pporoch
pporoch120
Mono Worksの中の人。好きなことをつらつらと書き留めてます。
ギターを始めてから 練習動画をYouTubeにアップしてます。ご笑納ください。
"DQX@ぬここ(UD487-754)、コツメ(NO078-818)"
採用案内