こんにちは、落合です。
開発用のパソコンといえば、Linux であり、Windows や Mac なんて持ってないよ。という方も多いと思います。
Android Studio の環境を整えるときのWEBなどの文献が Windows や Mac ばかりで、Linux について少なかったのと、Android Studio の開発環境で必須だと思われるAVD(仮想Android端末)の起動トラブルが多いようでしたので、手元の、Debian で実施した際のことをまとめてみました。
実際にやってみると、ハマりどころが結構ありました。
特に、KVM や OpenGL あたりの設定は確認しておかないと、どこが悪くて AVD(仮想Android端末)が起動しない(遅いとか)のか? の切り分けが難しくなってしまいますのでご注意ください。
本記事では、ハマらないように、Android Studio を設定する以外の箇所についてしっかり確認してから、Android Studioをインストールするといった流れになっています。
#本記事中のコマンドや画像の結果は、実際に私の "X Window System 上の Terminal" 等で実行したものです。
Android Studio 以外で注意深く設定を確認しておきたいこと
- KVM(ハイパーバイザ型のLinux仮想化機能) が利用可能であること。
- OpenGL を使った描画がアプリケーションから利用可能であること。
そういうわけで、まず環境の確認をしっかりしていきたいと思います。
環境の確認
- OSやハードで確認しておくこと
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$ date 2016年 8月 17日 水曜日 13:03:16 JST ----- 私が、作業を開始した実際の日時ですので、結果は異なります。 ----- $ cat /proc/cpuinfo | grep "model name" # 自分が使っているCPUの種類(把握のみ) model name : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz $ uname -a # カーネルのバージョンなど(把握のみ) Linux debian 4.6.0-1-amd64 #1 SMP Debian 4.6.4-1 (2016-07-18) x86_64 GNU/Linux $ cat /etc/debian_version # OSのバージョン確認 stretch/sid ----- いわゆる "Sid環境" です。 執筆時点で、Debian のSid 環境の最新の UPDATE まで完了させています。 ----- |
- KVM が利用可能かどうか?
1 2 3 4 5 6 7 |
$ egrep -c '(vmx|svm)' /proc/cpuinfo 8 ----- 1以上の数字が表示されなければ、 KVM が利用できず、本記事の一部が実行できませんので、 お使いのハードウェアを諦めるか、変えるかしてください。 (ハードウェアによってはBIOSの設定で有効になるものもあるようです。) ----- |
- OpenGL が利用可能かどうか?
1 2 3 4 5 6 7 |
$ sudo apt install mesa-utils # すでにインストールされていれば不要 $ glxgears ----- このコマンドの結果、下のギアがくるくる動くウィンドウがポップアップすればOKです。 NGの場合は、OpenGLの設定が必要です。 OpenGLの設定はお使いのハードウェアの環境に大きく依存するので、本記事では触れません。 ----- |
AVD を高速起動させるために事前に必要な設定
この項は、ハマるポイントですので、よく確認したほうがよいでしょう。
- KVM の設定
・参考:https://wiki.debian.org/KVM
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$ sudo apt install qemu-kvm libvirt-bin $ sudo adduser <ユーザー名> kvm $ sudo adduser <ユーザー名> libvirt ----- X Window System にログインしてると、上記のグループ追加の反映ができないので、 ここで、一度ログアウト→ログインしておきます。 ---- $ id | grep kvm | grep libvirt ---- ここで、なんらかの出力がある状態が正しいです。 なければ、グループへの追加設定が正しくありません。 ---- $ kvm --version # バージョン情報がでるところまでとりあえず確認 QEMU emulator version 2.6.0 (Debian 1:2.6+dfsg-3), Copyright (c) 2003-2008 Fabrice Bellard |
- AVD起動に必要なパッケージのインストール
Android Studio インストールマニュアルなどに記載されておらず、私の環境でエラーとなった箇所なので先にインストールしておきます。
ちなみにこの手順を必要とした私のAndroid Studioのバージョンは以下のとおりです。
-------------------------------------
2.1.3 Build #AI-143.3101438
-------------------------------------
1 2 3 4 5 6 7 8 9 |
$ sudo apt install libgl1-mesa-dev # OpenGL のライブラリ ----- AVD 起動時にライブラリがないと怒られます。 ----- $ sudo apt install lib32stdc++6 # 32bit環境のライブラリ ----- AVD起動時にエラー(Failed to create the SD card. などがでたり)が出てうまく起動しません。 ----- |
(ようやく…)Android Studio のインストール
- Java 実行環境の整備
Oracle の Java をインストールしないと Android Studio が Warning をあげるので、ここでは素直にOracle版をインストールしました。
また、私は面倒なので、PPA を利用してサクっとインストールしました。
・参考:http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html
1 2 3 4 5 6 7 8 9 10 11 12 |
$ sudo echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee /etc/apt/sources.list.d/webupd8team-java.list $ sudo echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886 $ sudo apt update $ sudo apt install oracle-java8-installer $ java -version java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode) $ update-alternatives --config java # Java環境を切り替える必要がある方はこのコマンドで。 |
- Android Studioインストール
執筆時点でLinux版は 2.1.3 でしたが、公式ページ をご確認ください。
1 2 3 4 5 6 7 8 9 10 11 12 |
$ cd $HOME $ wget https://dl.google.com/dl/android/studio/ide-zips/2.1.3.0/android-studio-ide-143.3101438-linux.zip $ unzip android-studio-ide-143.3101438-linux.zip $ less android-studio/Install-Linux-tar.txt ----- インストールマニュアルがここに記載されています。(簡単にしか記載されていませんが) 私は、一般ユーザの直下に展開してインストールしました。 ----- $ cd ./android-studio/bin/ $ ./studio.sh |
さてこれで、X上にアプリケーションが起動してきたと思います。
- 環境を引き継ぐかどうか? 新規なので、デフォルト
- インストール方法について
※AVDもインストールしたいので、ここで、"Custom" を選択します。
- インストールの選択について
※"Android Virtual Device" にチェックをいれます。
ここで、Linux だと、KVM を使えば、AVD の起動が速くなるよ というようなことが書かれていますね。
#本記事ですでに設定していますよね!問題ないでしょう!
Android Studio初期設定
プロジェクトが1つもない状態で、./studio.sh すれば、以下の画面が出てきます。
早速、"Start a new Android Studio project" を選択すると、以下のようにSDK の設定で怒られますので設定します。
- Android StudioのSDK設定
上記のメッセージの通り、Android Studioのスタートメニューから
「Configure」→「Project Default」→「Project Structure」
と押下して以下の設定をします。
(私のユーザは unixadmin なのでホームが以下になる。)
SDK の設定が終わったら、
もう一度、"Start a new Android Studio project" を選択すれば、
初めてのプロジェクトが作成されます。
- Android Studioのエラー表示の修正やアップデートなど
初めてのプロジェクトが作成されると、以下のような画面が出ていると思います。
※ここで私の環境では、Gradle関連のエラーが出ていました。
上記のエラー箇所の リンク(Install Repository and ...)をクリックすれば
必要なものをダウンロードしてGradleのsyncなどが自動的に行われてエラーが出なくなりました。
- Android StudioのSDKアップデート
「Tools」→「Androd」→「SDK Manager」を押下してUPDATEを行っておきます。
AVD の起動
ここまで設定できていれば、AVD は起動するはずです。
- AVD の初期登録
「Tools」→「Androd」→「AVD Manager」を押下して初めてのAVDを登録します。
以下は、私の環境で、適当にAVDを登録した時の画面ショットです。
(デフォルトだと、Andoroid 6.0が登録されるようです)
- 登録したAVDの起動
「Creating filesystem with parameters:」 以降が数行出力されます。
- AVD起動後の画面
私の環境ではこの画面が出るまで5秒かからないくらいです。爆速ですね!
動作もとても機敏です。
もし、起動しない(真っ黒な画面で止まる、Android のロゴから先に進まない) などが発生した場合は、
本記事の
・KVM は正常に稼働するか?
・OpenGL が正常に稼働するか?
・Android Studio(AVD)が必要とするパッケージの apt install
・Android Studio のエラーの解消
・Android Studio の SDKアップデート
あたりをしっかりご確認ください。
また、
- AVD の起動が途中で止まる場合 ADB(Android Debug Bridge) の起動を確認してみましょう
ADB が起動するタイミング は AVD を起動したタイミングです。
1 2 3 |
$ sudo netstat -ltpn | grep 555 tcp 0 0 127.0.0.1:5554 0.0.0.0:* LISTEN 4400/adb tcp 1 0 127.0.0.1:5555 0.0.0.0:* LISTEN 4400/adb |
上記のように、5554,5555のポートがLISTENしていないのであれば、AVD は起動の途中で停止してしまうようです。
ここは、ハマった場合に確認してもらうと良いと思います。
まとめ
- Linux での AVD の高速化には、KVM を利用する(Windows などとは異なる)
- AVD を利用しないのであれば、Android Studio 自体の起動は簡単(実機での開発環境)
- AVD を快適に利用しようとすると、Linux の環境そのものの設定がいろいろ(KVM とか OpenGL)必要でそれなりにハマる
- 設定さえしてしまえば、非常にサクサク動いて快適
いかがでしたでしょうか?
Linux(Android)の開発は、やはり Linux でやりたいですね! それではよい Android開発ライフ を!