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