Android Stuido

【Android Studio】AVD(Android Virtual Device)が起動しない場合の対処法

Android Studioをインストールした時によく直面する問題ですね。
実機では動作確認できるけれどもエミュレーターを使おうとすると動かないといったケースに
遭遇する方は意外に多いのではないでしょうか。

このAVDが動かない原因と対処法を以下にまとめますのでご参考までにどうぞ。

エミュレーターが起動しない原因は大きくわけて2つあります。

エミュレーターが起動しない原因

  1. 開発環境PCのBIOS設定で仮想化支援機能が無効になっている
  2. Intel x86 Emulator Accellerator(HAXM)がインストールされていない

だいたいこの2つの問題を解決するだけでエミュレーターを無事に起動することができると思います。

問題の解決方法

1.開発環境PCのBIOS設定で仮想化支援機能を有効にする

※解決方法の解説の前に使用されている開発環境PCが仮想化支援機能を有していな場合は、エミュレーターでの実行は無理ですのでその点ご注意ください。

BIOS設定はPC起動時に行います。どのPCでも入口は同じです。
ただし、PCによってBIOS設定画面起動のキーが異なるのであらかじめ確認をしておいてください。
PCの取説などがない場合は、PCに電源を入れた際にチラッと表示される画面にBIOS起動キーが表示されています。
ほどんどがファンクションキーまわりの(ESC、F1、F2、F12)ではないでしょうか?

無事にBIOS設定画面を起動できたら、まずはCPU関連の設定項目を探してみてください。
※仮想化支援機能はCPU設定項目です。

BIOS設定画面もまたメーカーによってレイアウト、扱う言葉などがまったく異なりますのでCPU設定項目の中で「Virtual」「Virtualization」「VT」などの単語が表示されている項目があれば間違いありません。
その設定項目の設定値が「FALUSE」または「DISABLE」とかになっていた場合はエミュレーターなどの仮想化技術が使用できない状態になっていますので、この設定を「TRUE」または「ENABLE」に変更してあげます。
すでに「TRUE」もしくは「ENABLE」になっている場合は変更する必要はありません。

BIOSの設定は以上となります。

2.HAXMをインストールする

2-1.SDKのインストール

エミュレーターを実装する上でSDKが絶対条件として必要になります。
ただ、Android Studioにはあらかじめインストールする際にSDKも一緒にインストールされるのでこの点に関してはまず問題ありません。

2-2.エミュレーターを使う上での必須パッケージをインストール

Android SDK Platform-toolsのインストールAndroid Studioから[ツール(T)] – [Android] – [SDKマネージャー]を選択してSDKマネージャーを起動します。

「SDKツール」タブがあるのでこれをクリックしてSDKツール画面を開き、Android SDK Platform-toolsのインストール状況を確認してください。
これがチェックのついていない[未インストール]状態の場合は、インストールを行ってください。
また、あわせてAndroid Emulator、Android SDK Toolsのインストール状況、更新状況も確認してインストールもしくは最新の更新を行ってください。
この設定を行うことでAndroid Studioからエミュレーターを起動させる土台が出来上がりました。

2-3.HAXMのインストール

最後にHAXMのインストールです。
これは開発アプリをどのAndroid OSバージョンを対象にするのかにもよってOSのバージョンごとにインストールをする必要があります。先に[SDKプラットフォーム]で対象とするAndroid OSのバージョン(APIレベル)のパッケージをインストールしておきます。
※パッケージのインストール項目は、「SDK Platform」「System Image」と書かれている項目だけで問題ありません。SDKプラットフォームのインストールが無事に終わると先ほどの[SDKツール]画面に「Intel x86 Emulator Accelerator(HAXM installer)」が現れますのでチェックを入れてインストールを行えば完了です。以上の設定でAVDマネージャーからSDKプラットフォームやSDKツールでインストールを行ったAndroid OSバージョン(APIレベル)の仮想デバイスを作成することでAndroid Studioからエミュレーターを起動することができます。

【Android開発】Android StudioでADB Shellを使用する為の設定

何かしら使用頻度があるADB Shell。
そんなADBコマンドをAndroid Studioで使用する為の設定方法です。

1.ADBプラグインをインストール

Android StudioにADBプラグインがインストールされていれば問題ありませんが、導入されていない場合は手動でインストールをする必要があります。

Android Studioの[ファイル(F)]-[設定(T)]から設定画面を起動して以下画面のように「プラグイン」を選択後、画面右の検索枠で「ADB IDEA」を入力して「リポジトリー内の検索」をクリックします。

「リポジトリー内の検索」リンクをクリックすると以下画面が起動するので、リスト内にある「ADB IDEA」を選択してインストールを進めます。

これでひとまずはAndroid Studio内でADBコマンドが使用できる環境が整いました。

2.ADBコマンドの使い方

実際にAndroid StudioでADBコマンドを利用する方法ですが、ADBコマンドの利用は「ターミナル」画面で行います。
下図Android Studio画面フッター部にあるターミナルボタンを押して起動するか、ALT+F12で起動することができます。

3. 基本的操作

だいたいADBコマンドを使用した時というのは直接にSQLiteのDBを操作したい時なので、その辺のコマンド入力を例として掲載します。

基本中の基本になりますが、ADBコマンドを利用する場合は必ずAVDマネージャーより仮想デバイスを起動させてください。

上図はDBにアクセスする準備までの一連のコマンド入力の流れです。

① adb devices
ADBコマンドで操作可能なデバイス一覧を表示する

② adb -s emulator-5554 shell
対象の仮想デバイスを指定してADBを起動する(この場合はemulator-5554の仮想デバイス)

③ run-as “Package名”
Package名がわからない場合はAndroidManifest.xmlを参照してpackage=”~”で記載されているパスを確認してください。

④ ls
ディレクト検索コマンド
結果表示として、cache、code_cache、databasesが表示

⑤ cd ./databases/
SQliteのDBを操作したいので、cdコマンドで/databasesディレクトリに移動する

⑥ ls
ここではdatabasesディレクト内情報を一覧表示します。
結果表示として、events.dbのデータベースが表示される。

⑦ sqlite3  events.db
データベースにアクセス

ここまでの一連コマンド入力でSQL操作ができる状態になります。
後は、目的に応じたSQLクエリをsqlite>に入力していくだけです。
※SQL分の最後には必ずセミコロン(;)をつけてください。

【Android開発】Call requires API Level XX (current min ~)の解決法

Androidアプリの開発をしているとよく見かけるエラー。

「Call requires API Level XX (current min ~)」

簡単に言ってしまえば、開発する環境に対して制作するアプリのAPIレベルの
最低サポートラインが違うことが原因。

では、どうするか・・・。

たいていは以下の方法で解決できます。

■ 解決方法その1

・AndroidManifest.xmlにAPI Minレベルを追加設定してあげる。

<uses-sdk android:minSdkVersion=”XX” />

例としてCall requires API Level 16 ~のエラーであれば、

<uses-sdk android:minSdkVersion=”16” />



■解決方法その2

・importの参照元を疑う

最新の技術を使う場合はある程度仕方ないことだが、基本的な機能を使用したい場合に開発環境(Android Stuidioなど)のバージョンが新しいことで古いAPIレベルがサポートされないのは非常に困ります。ただ、以前の開発環境では問題なかったなどのケースの場合は、使用したいクラスに関するimport情報を確認してみてください。

例として、カレンダー機能を使ったアプリの実装を考えた場合に最新のAndroid StudioのバージョンでCalendarクラスやGregorianクラスなどを使用するケースではimport内の参照元が以下のようになってしまいます。

import android.icu.util.Calendar
import android.icu.util.GregorianCalendar

これだと、確かにAPIレベル24が最低サポートの対象になってしまいそれ以前のAPIレベルではサポートされなくなってしまいます。
この場合は、以下のように参照元を変更することで解決します。

import java.util.Calendar
import java.util.GregorianCalendar

この参照元に変更することでAPIレベルが15でも16でもサポート対象となりCalendarクラス内のメソッドも使用することが可能になります。

基本は、解決方法その1で記載した内容で対処するのが通常ですが、開発環境が最新過ぎてアプリの対象範囲が極端に狭まるようなら解決方法その2で疑ってみるのもひとつの手です。
それでもダメなら別の方法で実装機能を模索するしかないでしょう。

Android Studioのインストール

Android Studioのインストール方法を紹介します。

以下より最新版のAndroid Studio(無償ソフト)が入手できますのでダウンロードを進めていきます。

Android Studio 最新版ダウンロード

※ダウンロード画面は以下のようなページになり、ここで赤枠の最新版のAndroid Stuidoダウンロードボタンをクリックすることでダウンロードが開始されます。

ダウンロードしたexeファイル(現在の最新バージョンの場合android-studio-bundle-162.4069837-windows.exe)をクリックして実行すると以下のインストール開始画面が起動しますので「Next」ボタンで次の画面に進みます。

以下画面では「Next」ボタンで次のコンポーネント選択画面に進みます。

以下コンポーネント選択画面ではすべてにチェックを入れ「Next」ボタンで次に進みます。

以下画面ではライセンス同意画面になるので「I Agree」ボタンで次の画面へ進みます。

遷移した以下画面では、Android Studioのインストール先とSDKのインストール先の選択画面になりますので、インストール先やインストールフォルダ名などを変更した場合は、ここでパスを修正します。問題なければ、「Next」ボタンで次へ進みます。

インストール作業最後の画面になります。ここではスタートメニューにAndroid Studioを追加するかどうか問われていますが、そのままデフォルトで「Install」ボタンを押してAndroid Studioのインストールを開始します。

 

無事に問題なくインストール作業が完了したら、インストール完了画面が出ますのでこの時点でAndroid Studioのスタート段階であるインストール作業が終了となります。

ただし、この時点ではAndroid Studioが英語表記になっているので、次の記事でこのAndroid Studioの日本語化対応を紹介しますので参考にしてください。