初心者向けAndroidStudio、パート3:アプリをビルドして実行する

更新日:2020年1月。

初心者向けAndroidStudioパート2では、AndroidStudioを使用して最初のアニメーションモバイルアプリを作成しました。ここで、パート3では、Androidデバイスエミュレーターまたはライブデバイスでアプリをビルドして実行する手順について説明します。

まず、Gradleを使用してアプリのアプリケーションパッケージ(APK)ファイルをビルドします。次に、Androidデバイスエミュレーターまたは実際のデバイス(この場合はKindle Fireタブレット)でアプリをセットアップして実行する方法を説明します。また、Android Studioのデバイスエミュレーターのセットアップに関するいくつかの問題をどのように解決したかについても説明します。これには、悪名高いTimed out whilewaitingエラーが含まれます。

このシリーズは、この記事の執筆時点で現在の安定版リリースであるAndroid Studio3.2.1用に更新されていることに注意してください。

Androidアプリの構築

パート2に進んだ場合は、ソースコードとリソースファイルをAndroidStudioプロジェクトに既にロードしています。これで、初めてアプリを作成する準備が整いました。

まだ起動していない場合は、AndroidStudioを起動します。メニューバーには、Gradleにアクセスしてサンプルアプリケーションをビルドするために使用するビルドメニューがあります。

[ビルド]メニューから[プロジェクトの作成]を選択します。あなたは、守るべきGradleのビルド実行ステータスバーにメッセージを。しばらくすると、Gradle BuildFinishedメッセージが表示されます。このメッセージをクリックすると、[イベントログ]ウィンドウが表示されます。

ジェフ・フリーゼン

Androidアプリを作成する方法は複数あります。たとえば、[ビルド]メニューから[プロジェクトの再ビルド]を選択できます。もう1つのアプローチは、実際にアプリを実行することです。必要に応じて、GradleはAPKがインストールされてアプリが実行される前に、アプリを自動的に再構築します。

ビルドメニューでさらに多くのことを行う

Android Studioの[ビルド]メニューでは、いくつかのビルドタスクを実行できます。たとえば、Generate Signed Bundle / APKメニュー項目を使用して、Signed AppBundleまたはAPKを作成できます。

Androidアプリの実行

このセクションでは、Androidアプリケーションを2つの方法で実行する方法を説明します。最初はエミュレートされたデバイスで、次に実際のデバイスで実行します。私の例では、Amazon Kindle Fire HDタブレットを使用しますが、手順は通常、選択したデバイスに適用されます。

エミュレートされたデバイスでAndroidアプリを実行する

[実行]メニューの[ファイル名を指定して実行]を選択すると、サンプルアプリケーション(W2A)またはその他のアプリを実行できます。または、ツールバーの緑色の三角形のボタンをクリックすることもできます。いずれの場合も、AndroidStudioは[展開ターゲット選択]ダイアログボックスで応答します。

ジェフ・フリーゼン

Android Debug Bridgeを初期化すると、図2のメッセージは、AndroidStudioによって検出された接続済みのすべてのUSBデバイスと実行中のエミュレーターのリストに置き換えられます。

ジェフ・フリーゼン

この場合、Android Studioは接続されているUSBデバイスまたはエミュレーターを検出していないため、新しい仮想デバイスを構成する必要があります。[新しい仮想デバイスの作成]をクリックすると、図4に示すダイアログボックスが起動します。

ジェフ・フリーゼン

エミュレートするデバイスを選択します。この例では、強調表示された(デフォルトの)Nexus5Xを選択しました。選択したら、[次へ]をクリックします。

結果としてシステムイメージパネルは、このデバイスエミュレーションのためのシステムイメージを選択していただけます。[その他の画像]タブをクリックしてから、IceCreamSandwich(図5で強調表示されている行)をクリックしました。

ジェフ・フリーゼン

選択したシステムイメージをダウンロードするには、[ダウンロード]リンクをクリックする必要があります。イメージはデフォルトではインストールされません。システムイメージをインストールする前に、使用許諾契約書も提示されます。

ジェフ・フリーゼン

続行するには、使用許諾契約に同意する必要があります。使用許諾契約に同意すると、コンポーネントインストーラーパネルが表示されます。この時点で、システムイメージコンポーネントがダウンロードおよびインストールされています。

ジェフ・フリーゼン

続行する前に、作業を確認することをお勧めします。[戻る]ボタンを使用して、インストールダイアログから移動し、Android仮想デバイス(AVD)パネルに戻ります。ここで、エミュレートされたデバイスを実行するエミュレータAVDの設定を確認できます。

ジェフ・フリーゼン

この例では、デフォルト設定を維持することを選択しました。デフォルトのままにするか、必要な変更を加えてから、[完了]をクリックします。これで、[展開ターゲット選択]ダイアログボックスに戻るはずです。

ジェフ・フリーゼン

選択したデバイスエントリを強調表示して、[ OK ]をクリックします。

Androidのバージョン履歴

2018年8月にリリースされたCupcake1.0からPieまでのAndroidバージョンのバーチャルツアーに参加してください。

Androidデバイスエミュレータのトラブルシューティング

残念ながら、インストールのこの時点で、インスタント実行がサポートされていないというメッセージが表示される場合があります。私の場合、ステータスバーに「ターゲットデバイスがオンラインになるのを待っています」というメッセージが表示され、空のエミュレータウィンドウが表示されました。

ジェフ・フリーゼン

エミュレータウィンドウが表示された直後に、qemu-system-armel.exeこのウィンドウの作成を担当するWindowsベースのプログラムがクラッシュしました。(パート1から、64ビットのWindowsオペレーティングシステムを実行していることを思い出してください。)

ジェフ・フリーゼン

最初は、この問題を解決する方法がわかりませんでした。幸い、次にAndroid Studio 3.2.1を実行したときに、AndroidStudioのメインウィンドウの右下の領域にIDEとプラグインの更新メッセージが表示されました。

ジェフ・フリーゼン

更新リンクをクリックし、指示に従ってエミュレーターを更新したところ、新しいqemu-system-armel.exeファイルが作成されました。

これ以上クラッシュすることはありませんが、私はすぐに別の障害にぶつかりました。

ターゲットデバイスがオンラインになるのを待っています

エミュレーターでアプリを実行しようとすると、ステータスバーに「ターゲットデバイスがオンラインになるのを待っています」というメッセージ再度表示され、続いてエミュレーターウィンドウが空になりました。

最終的に、Android Studioは待機をあきらめ、エラーメッセージを表示しました:デバイスの待機中にエラーが発生しました:エミュレータがオンラインになるのを待機してから300秒後にタイムアウトになりました。

これらのメッセージをグーグルで検索したところ、他の多くの人がこの問題を経験していることがわかりました。一部の開発者は、AVDのグラフィックスプロセッシングユニットハードウェアを有効にすることでこの問題を解決しました。これを理解するのに少し調査が必要だったので、私が学んだことを共有し、うまくいけば時間を節約できます。

AVDのグラフィックスプロセッシングユニットを有効にする

AVDは、.avd拡張子が付いたディレクトリにあるいくつかのファイルとディレクトリで構成されます。たとえば、私が作成したAVDはにありC:\USERS\Jeff\.android\avd\Nexus_5X_API_15.avdます。

このディレクトリにはconfig.ini、AVDの構成設定を格納するファイルが含まれています。2つの設定が私の注意を引きました:

 hw.gpu.enabled=no hw.gpu.mode=off 

これらのエントリを次のように変更しました。

 hw.gpu.enabled=yes hw.gpu.mode=on 

グラフィックスプロセッシングユニットを有効にすると、問題が解決しました。次にアプリを実行しようとしたときに、正しく実行されているエミュレートされたNexus5Xデバイスを確認しました。

ジェフ・フリーゼン

マウスを使用してロックアイコンを右にスワイプして、デバイスのロックを解除しました。この時点で、エミュレーターはサンプルアプリの主なアクティビティを示しました。

ジェフ・フリーゼン

AVDマネージャーの使用はどうですか?

私と同じように、AVDマネージャーを介してエミュレーターの設定を変更できることを期待するかもしれません。たとえば、AVDの設定画面には、ソフトウェア-GLES 1.1(デフォルト)およびハードウェア-GLES2.0エントリを含む[グラフィックス]ドロップダウンリストボックスがあります。ハードウェア-GLES2.0を選択しようとしましたが、変更が反映されませんでした。ファイルのエントリを正常に変更しました。hw.gpuconfig.ini

ライブデバイスでAndroidアプリを実行する

遅いエミュレーターを介してアプリを実行すると、非常にイライラする可能性があります。1つの解決策は、GenyMotionのAndroidStudio用プラグインなどのより高速なエミュレーションソフトウェアを使用することです。別の解決策は、実際のAndroidデバイスを使用することです。

数年前、Android 4.0.3(APIレベル15)を実行する第1世代のAmazon Kindle Fire HD 7 "タブレットを購入しました。このタブレットを使用して、最新のAndroidAPIを必要としないAndroidアプリを実行しています。

KindleFireタブレットをAndroidStudio 3.2.1で使用する方法を調査しているときに、Amazonから2つの便利なガイドを見つけました。Fireタブレットの開発環境をセットアップする方法と、ADBを介してFireタブレットに接続する方法です。KindleFireデバイスをAndroidStudioに接続するプロセスを要約しますが、詳細が必要な場合はこれらのガイドを参照してください。

まず、私のようなWindowsユーザーの場合は、最初にADBを有効にせずに、KindleFireタブレットを開発用コンピューターに接続したときにインストールされる非ADBドライバーをアンインストールすることから始める必要があります。次に、AmazonのUSBドライバーをインストールします。

次に、Kindle FireUSBドライバーをダウンロードします。ダウンロードしたZIPアーカイブにはFire_Devices ADB drivers.exeアプリケーションが含まれています。

実行しFire_Devices ADB drivers.exe、指示に従います。C:\Program Files (x86)\Amazon.com\Fire_Devices\Drivers必要なドライバファイルを含むディレクトリになりました。

ドライバをインストールした後、タブレットでADBを有効にする必要があります。次に、タブレットを開発用コンピューターに接続します。タブレットをAndroidStudioに接続するための追加の手順が必要な場合は、Amazonガイドを参照してください。

すべての設定が完了したら、Android Studioを起動し、Androidプロジェクトを読み込んで、アプリを実行します。今回は、[Select Deployment Target ]ダイアログボックスで、[ ConnectedDevices]セクションにAmazonKFTTエントリが表示されます。このエントリを選択して、[ OK ]をクリックします。Android Studioは、アプリをビルドするようにGradleに指示することで応答します。それが完了すると、アプリのAPKがインストールされ、デバイスでアプリが実行されます。

ジェフ・フリーゼン

パート3の結論

Android3.2.1以降を使用して最初のAndroidStudioアプリケーションを作成、構築、実行し、その過程でいくつかのトラブルシューティングを行いました。次のステップとして、私はあなたが学んだことを実験することを提案します。最初の3つのAndroid初心者チュートリアルの例とソースコードを使用して、独自の新しいプロジェクトを開発します。Android Studioとその組み込み機能の操作の詳細を学びながら、プロジェクトをシンプルに保ちますが、実験に挑戦してください。

もちろん、AndroidStudioでできることは他にもあります。このシリーズの最後の記事では、Androidアプリのログ記録、デバッグ、リンティングのための3つの組み込みツールを紹介します。また、ProjectLombokを含む3つの生産性プラグインでAndroidStudioを拡張します。

それまでは、ハッピーコーディング!

このストーリー「初心者向けAndroidStudio、パート3:アプリのビルドと実行」は、もともとJavaWorldによって公開されました。