Androidアプリの開発、楽しいですね。でも、
「古いパソ
コンだから開発環境が重くてたいへん」
「エミュレーターが
遅いよ!遅いよ!」とお悩みの方もいらっしゃるのでは?
そんな方のために、今回は「Androidの開発ツールを
VPS上にインストールして、それを手元のパソコンから利用
することで快適な環境を実現できないか」を、
「ConoHa」で
試してみることにしました。
まえがき
■ ConoHaの VPS 上 でAndroid 開 発 環 境「Android Studio」を動 作させ、 手元のパソコンから操作できるようにする ■ インテルの高速化技術を導入して、Androidエミュレーターを高速動作させる ■ とりあえずConoHaでVPSを1台契約済みであること。 ・メモリ4GB以上推奨 ・OSはUbuntu 13.10(64ビット版)をISOイメージからインストール ・一般ユーザー名は「localuser」とする ■ Android Studioか、最低限Android SDKを使ったことがあること
前 提
目 標
I. Ubuntuのインストールと環境設定
詳細はあとでまたご説明しますが、エミュレーターを高速動作させるための環境を構築 するには最近の Ubuntuがいちばん簡単です。そのため、今回はUbuntu13.10(64ビッ ト版)を使用する前提でご説明します。 Ubuntu の公式サイト(http://www.ubuntu.com/download)などから13.10(64 ビット版)の ISOイメージをダウンロードしてきて、ConoHa の「OS 再インストール」機能 を使ってイチからインストールしましょう。ふつうのパソコンに導入するのと手順は変わりま せん。この際、一般ユーザーを「localuser」という名前で作成したものとして説明していき ます。 そのあと、手元のパソコンからターミナルソフトでも利用できるように、SSHサーバーを インストールしましょう。 また、64ビット版の環境で32ビットのソフトも動くようにするため、次のようにします。 まず、OSのインストールと細かい準備
1$ sudo apt-get install openssh-server $ sudo /etc/init.d/ssh restart
$ sudo apt-get install synaptic
おっちゃんとう
ぶんチュウ
してや(e´з`e)
Java=JDKをインストールする
2
としたあと、
で「Synaptic」を起動。
「settings」→「Repositories」を選択し、「other software」から「add」を押して、
$ synaptic
deb http://archive.ubuntu.com/ubuntu/raring main restricted universe multiverse
を追加、Synapticを終了させてください。続いて、
$ sudo apt-get update
$ sudo apt-get install ia32-libs
とします。以降の作業はターミナルソフトからおこなってかまいません。
その次にJava=JDKをインストールする必要があります。JDK のオラクルによる公式 配布ページ(http://www.oracle.com/technetwork/java/javase/downloads/) にアクセスして、Linux(64ビット版)JDK7をダウンロードしてください。ファイル名が tar.gzで終わっている、たとえばjdk-7u51-linux-x64.tar.gzなどです。
II. Android Studioのインストール
とします。ついでなので環境変数も設定しておきましょう。 入手したら /tmp ディレクトリに移動して、
$ echo 'export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51/' >> ~/.bashrc $ source ~/.bashrc
$ tar xvzf jdk-7u51-linux-x64.tar.gz
$ sudo mv jdk1.7.0_51 /usr/lib/jvm/jdk1.7.0_51
$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0_51/bin/java" 1
$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0_51/bin/javac" 1
$ sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0_51/bin/javaws" 1
今回は、IDEとして「Android Studio」をインストールする例をご紹介し
ます。ただ、おなじ手法は Android SDKを使っている限り有効なので、ご
自分の趣味にあわせて Eclipse でチャレンジしてみるのもよいでしょう。
おっちゃんEcli
pse派や(´_ゝ
`
)
じゃばじゃば
入れればええん
や(゚Д゚ノ)ノ
Xmingのインストールと準備
1III. 「X」でVPS上の開発環境を手元に表示する
$ ~localuser/bin/android-studio/bin/studio.sh $ tar xvzf android-studio-bundle-133.970939-linux.tgz $ mkdir ~localuser/bin $ mv android-studio ~localuser/bin 手元のパソコンを X に対応させるために「X サーバー」というものをインストールしま す。有名なフリーの X サーバーに「Xming」(Windows 用)というものがあるので、今 回はこれを使います。 と解 凍してください。でてきた「android-studio」ディレクトリの 中 身が、そのまま Android Studio 本体になります。配置先ですが、ホームディレクトリに bin ディレク トリをつくり、その中に置いておくことにしましょう。 もし、ConoHa の VPS コントロ ー ル パ ネ ル で 操 作してい る なら、ここで 実 際 に Android Studioを立ち上げてみましょう。ターミナルから以下のようにコマンドを入 力します。 で、たしかに開発環境が動作するのがわかったと思います。この時点で「なんかおれの手元 のパソコンよりぜんぜん動作が速いぞ」と感じた方は、もうそれだけでリモートデスクトップ ツールなどを使って活用することを検討されたほうがよいかもしれませんね…。リモートデスクトップツールというと「VNC」などが有名ですが、UNIX の世
界で古くから使われてきたのが「X」というシステムです。Xを使うと、SSHを
使ったターミナルソフトで接続しているVPS から、グラフィカルなソフトの画
面だけを手元のパソコンに表示する、といったことができてしまいます。
まずは Android Studio の公式サイト(http://developer.android.com/sdk/ installing/studio.html)にアクセスし「DOWNLOAD FOR OTHER PLATFORMS」中 の Linux 向けリンクから、ファイルをダウンロードしましょう。ファイルを入手したら /tmp ディレクトリなどに移動してから、
VPS側SSHサーバーの設定を確認
2
$ grep X11Forwarding /etc/ssh/sshd_config
VPS 側 SSH サーバーの設定を確認します。X で「VPS 側のソフトの画面情報を手 元のパソコンに転送するか」を設定する必要があります。 Xming の公式サイト(http://www.straightrunning.com/XmingNotes/) から という2 つのファイルをダウンロード・インストールします。 その後、インストールされた「Xming」というソフトを常時起動しておくようにしてく ださい。 として ■ ■ Xming(6.9.0.31) Xming-fonts(7.5.0.70)
♪紅に染まっ
た
この俺を~(
☆・ω・)ノ
$ firefox すると、手元のパソコンにVPS 側の Firefoxが表示されてきたはずです。 もちろん、先ほどと同様に $ ~localuser/bin/android-studio/bin/studio.sh とすれば、手元のパソコンに Android Studio の画面が表示されます。これだけでも 「ふだん持ち歩いてるパソコンがIDEには非力なんだよね」といった人には「どんなパソコン でもいつも同じIDEが使える」という点で便利かもしれませんね。 と出てくれば OK です。no だった場合はyes に書き換えてください。 X11Forwarding yes 手 元 の パソコンの 設 定 です。 SSH 接 続 用 ツ ー ル に、ここ で は Windows の 「TeraTerm」を使っている としましょう。メニュー の 「設 定」→「SSH 転 送 ...」か ら、「リ モ ート の Xア プ リ ケーションをローカルのX サ ー バ に 表 示 す る」に チ ェックを 入 れ、再 度 メ ニューから「設定」→「設定
手元のパソコンの設定
3 の保存」を選び設定を保存。 いちどTeraTerm 自体を再起 動しましょう。 そして、もういちどVPSに TeraTermからログインしま す。これでXが 使えるように なっているはずです。試してみ ましょう。なんでもいいのです が、グラフィカルな画面の出て くるソフト… Firefoxをコマンド ラインから呼び出してみます。嫁はんの枕み
たいやね(。´ェ`
。)
キター!(
・∀・)
IV. いちばんの鬼門「エミュレーター」を速くする
といっても、Android 開発でいちばんの鬼門は IDE ではありません。実
際には、開発環境で遅い遅いと文句を言われているのは「端末エミュレー
ター」でしょう。この環境でも実際に操作してみましょう。
先ほどX 経由で立ち上げた Android Studio のメニューから「Tools」→「Android」→ 「AVD Manager」を選択すると、おなじみの「Android Virtual Device Manager」
が立ち上がります。なにかエミュレーションするデバイスを作成してみましょう。「Device Definitions」から「Nexus 7」を選択して「Create AVD」が簡単そうです。新たに追加 されたデバイスを「Start」させてみましょう。
パソコン上にエミュレーターの画面が表示されたと思います。やっぱり遅いですよね。 これを速くするための技術が、Intel の提供している「x86 Emulator Accelerator」 (HAXM)です。簡単に言ってしまうと「CPUについている仮想化機能をエミュレーターに
応用して速くする」もの。
こいつに人生
$ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
$ sudo adduser localuser kvm $ sudo adduser localuser libvirtd
$ echo 'export LD_LIBRARY_PATH=
~/bin/android-studio/sdk/tools/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
Windowsや OS XではふつうにCPU の機能を使うだけなのですが、Linuxではカーネ ルのバージョンなどがからみあって、導入に多少の手間がかかります。今のところ最新版の Ubuntuを使って実現するのがいちばんラクなようです。他のディストリビューションユー ザーの方も、今回は一緒にがんばってみましょう。
まず、コマンドラインから必要なパッケージをインストールし、現在のユーザーに仮想化 機能の利用権限を追加します。
続けて、HAXM に対応した「x86 Atom」向けの Android システムイメージをダウンロー ドします。Android Studio のメニューから「Tools」→「Android」→「SDK Manager」 を選び、開発対象バージョンが 4.4.2 なら「Android 4.4.2」の中から、「Intel x86 Atom System Image」→「Extras」→「Intel x86 Emulator Accelerator (HAXM)」をチェックし、ダウンロードを指示します。
また、LD_LIBRARY_PATH に一部ライブラリを読み込みするよう設定を追加して おきましょう。
実のとこそう難し
くないな
(・ω・)
y
ここまで終わったら、いちどUbuntuからログアウト・ログインしておきましょう(グループ追 加を反映するため)。
これで、HAXMが使えるようになりました。まずは先ほどと同じようにAVD Manager を使って新しいAndroidデバイスを作成しましょう。基本的に設定項目はふだんどおりです が、一か所「CPU/ABI」だけ「Intel Atom(x86)」にしておきます。
あとは実際に、適当なプロジェクトをビルドしてエミュレーターを走らせてみるだけ! いかがでしょう。快適な環境は手に入りましたか?
Happy Hackin
gやでーρ(′
▽`o)ノ゙
実のとこそう難し
くないな
(・ω・)
y
VPSは、まだまだ楽しくなる。 2014年3月21日 初版発行 編集:ConoHaの中の人たち 発行者:児玉公宏 発行所:GMOインターネット株式会社 住所:東京都渋谷区桜丘町26-1セルリアンタワー TEL: 03-6702-0428 「ConoHaの薄い本!」 Vol.4 VPSでAndroid開発環境をつくろう!