Ubuntu Weekly Recipe

第372回Ubuntu Makeで簡単にAndroid開発環境を構築する

Ubuntu 15.04のリリースノートにも記載があるように、今回のリリースの新機能の1つにさまざまなアプリやWeb開発を行う開発者向けツールである「Ubuntu Make」の機能強化があります。今回はこのUbuntu Makeを使って、Ubuntu上でAndroid Studioをインストールする方法を紹介します。

なぜUbuntu Makeなのか

読者のほとんどの方はご存知だとは思いますが、Ubuntuは6ヵ月ごとにリリースを行っています。また、一度リリースを行うと、一部の例外パッケージを除きそのリリースにおけるソフトウェアは同じメジャーバージョンを使い続けることになります。このため、5年サポートを行うLTSで提供されるソフトウェアは、5年間同じバージョンになります[1]⁠。

このポリシーはシステムの安定性を維持する上では重要ですが、開発環境として考えたときにツールやライブラリが古くなってしまうという弊害が発生します。最悪の場合、特定の言語やフレームワークの最新の開発環境を用意するためには、依存するライブラリまで含めて全部自前ビルドしなくてはならないと言った事態も発生しえます。

たとえばUbuntu 14.04 LTSの標準のRubyパッケージのバージョンは1.9系ですし、Railsは3.2で、Go言語は1.2です。これは14.04のサポートが切れる2019年まで原則として変わりません。特にここ最近のフレームワークのハイペースなバージョンアップを考えると、6ヵ月ないし2年単位のリリースとはいろいろと相性が悪い場合もあるでしょう。

Ubuntu Makeは、そんな悩みを解決するために開発されたPython 3製のコマンドラインツールです。元々の名前が「Ubuntu Developer Tools Center」だったように、ソフトウェア開発者向けのツールとなります。Ubuntu Makeでは、指定した開発環境に合わせて「最新版」のツールをダウンロードし、依存するパッケージも合わせてインストールします。

Ubuntuのパッケージ管理システムとは独立してツールやライブラリを用意することもあるので、システムに副作用を与えないように注意しながら開発が行われています。特にツール側のバージョンが上がっても「ちゃんと動く」ことを確認するためにも、Ubuntu Makeそのもののテストフレームワークも充実しています。

現在対応しているフレームワークは次のとおりです。

まとめると、Ubuntu Makeを使うとLTSのUbuntuでも「最新の開発環境」を、コマンド操作だけでインストールできるのです。

Android Studioのインストール

Ubuntu Makeの中でも、今回はAndroid Studioのインストール方法について説明します。Androidの開発環境と言えば、4年前の第156回で水野源さんが、Android SDKのインストール方法を紹介してくれました。当時はSDKのみの提供で、IDEとしてはEclipseにAndroid Developer Toolsを組み合わせて使うという形態でした。

Android Studioは昨年の12月に1.0がリリースされた、新しいAndroidの開発環境です。従来のSDKのみの提供ではなく、IntelliJ IDEAをベースとしたIDEもセットで提供していますので、これをインストールするだけで開発環境が揃うようになっています。

まずはUbuntu Makeをインストールします。Ubuntu 15.04であれば、公式リポジトリからそのままubuntu-makeパッケージをインストールできます。Ubuntu 14.04 LTSをお使いの場合は、先に次のようにPPAを追加してください[2]⁠。

$ sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
$ sudo apt-get update

ubuntu-makeパッケージをインストールします。qemu-kvmパッケージは、エミュレーターの高速化のためにインストールしています。

$ sudo apt-get install ubuntu-make qemu-kvm

コマンド名は「umake」です。現在はmanページが用意されていないので--helpオプションを利用してください。

$ umake --help
usage: umake [--help] [-v] [-r] {android,go,dart,games,web,ide} ...

Deploy and setup developers environment easily on ubuntu

positional arguments:
  {android,go,dart,games,web,ide}
                        Developer environment
    android             Android Development Environment
    go                  Go language
    dart                Dartlang Development Environment
    games               Games Development Environment
    web                 Web Developer Environment
    ide                 Generic IDEs
(以下略)

基本は最初のオプションにフレームワーク名を渡し、その後ろにフレームワークごとのオプションを指定します。今回インストールしたいのはAndroid Studioなので次のように実行します。

$ umake android android-studio
[sudo] password for shibata:
Choose installation path: /home/shibata/tools/android/android-studio
Before installing Android Studio or the standalone SDK tools,
you must agree to the following terms and conditions.
(中略)
November 13, 2012
[I Accept (a)/I don't accept (N)] a
Downloading and installing requirements
Installing Android Studio
Installation done

「android-studio」を省略した場合は、そのフレームワークの既定のソフトウェアをインストールします。インストールではなく、削除する場合は「-r」オプションを付けてください。

android-studioの場合、OpenJDK 7や32bit版の各種ライブラリをインストールするため、上記のように管理者権限への昇格用のパスワードが問われます[3]⁠。インストールパスは初期設定のままで良いでしょう。Ubuntu Makeを使って他のフレームワークをインストールした場合も、このtoolsディレクトリに展開されます。

次に表示されるのはAndroid Software Development Kit License Agreementと呼ばれるもので、これに同意しない限りはAndroid Studioをインストールできません。同意するとAndroid Studioのダウンロードとインストールが始まります。これはネットワーク環境によってはしばらく時間がかかります。

Unityを使っている場合、無事にインストールが完了したら、LauncherにAndroid Studioのアイコンが追加されます。一度インストールしたら、ソフトウェアの更新はAndroid Studio自身に任せてしまって問題ありません。

図1 Launcherにアイコンが追加される
図1 Launcherにアイコンが追加される

Android Studioの起動

では、さっそくAndroid Studioを起動してみましょう。Unityを使っている場合は、Launcherのアイコンをクリックするだけです。そうでない場合は、Android Studioのインストールパスにある「bin/studio.sh」を実行してください。

初回起動時はいくつかの質問に答えたうえで、Android SDKのインストールを行うため時間がかかります。具体的には次の画像の流れに従って設定し、Nextボタンを押すだけです。

図2 初回起動時の設定インポートの確認、通常は下をチェックする
図2 初回起動時の設定インポートの確認、通常は下をチェックする
図3 インストールタイプも「Standard」にする
図3 インストールタイプも「Standard」にする
図4 KVMを使えばエミュレーターを高速化できるという案内(後述)
図4 KVMを使えばエミュレーターを高速化できるという案内(後述)
図5 インストールするコンポーネントごとのライセンスの表示(Acceptにチェックを入れてFinshボタンを押す)
図5 インストールするコンポーネントごとのライセンスの表示(Acceptにチェックを入れてFinshボタンを押す)
図6 インストールの開始
図6 インストールの開始
図7 無事にインストールが完了したら、もう一度Finishボタンを押す
図7 無事にインストールが完了したら、もう一度Finishボタンを押す

初回設定が完了すると、ウェルカムダイアログが開きます。今回はOpenJDKを使っているため、このタイミングで「OpenJDKだとパフォーマンスやUIに問題が発生するかもしれない」と言った通知が出ると思います。気になるようでしたらOracle Javaをインストールしてください。JREだけでなくJDKも必要になります。

図8 ウェルカムダイアログ
図8 ウェルカムダイアログ

ちなみにAndroid Studioの設定やログは「~/.AndroidStudio」「~/.android」などに保存されます。またAndroid SDKは「~/Android/Sdk」に保存されるようです。

アプリの作成

実際に適当なアプリを作ってみましょう。ウェルカムダイアログで「Start a new Android Studio project」を選択します[4]⁠。以下、次の画像に従って設定を行ってください。

図9 アプリ名や保存先の設定
図9 アプリ名や保存先の設定
図10 フォームファクターの選択
図10 フォームファクターの選択
図11 アクティビティは今回は「Blank Activity」を選択
図11 アクティビティは今回は「Blank Activity」を選択
図12 アクティビティの設定、今回はそのままで
図12 アクティビティの設定、今回はそのままで
図13 設定が完了し、編集画面が開く
図13 設定が完了し、編集画面が開く

うまく行けば、編集画面が現れるはずです。この状態で、基本的なソースコードや設定はすべて揃っていますので、さっそくツールバーの緑色の再生アイコンを押すか、Runメニューの「Run "アプリ名"」でビルド&実行してみます。まずは次のようなダイアログが現れるはずです。

図14 実行するデバイスを選択するダイアログ
図14 実行するデバイスを選択するダイアログ

ここで設定しなくてはいけないのは、アプリを実行するターゲットデバイスです。今回は「Launch emulator」でエミュレーターを起動しましょう。

若干時間はかかりますが、アプリをビルドし、エミュレーターが起動し、エミュレーターの中にアプリを転送し、アプリを起動するという手順が自動的に行われます。エミュレーターが起動すると画面がロックされた状態なので、スワイプアップしてロックを解除しましょう。そうすると、テンプレートどおりのアプリが起動しているはずです。

図15 ⁠Hello world!」と表示するだけのアプリ
図15 「Hello world!」と表示するだけのアプリ

KVMが使える環境であれば、ハードウェアアクセラレーションが効いた状態でエミュレーターが起動します。以前は、Runメニューの「Edit Configurations...」を開き、Emulatorタブの「Additional command line options」「-qemu -m 512 -enable-kvm」と入力するといった作業が必要でしたがx86イメージについてはKVMが必須になった結果、設定しなくても高速化されるようです。

エミュレーターではなく、実デバイス上でアプリを起動したい場合は、まずデバイスのUSBデバッグを有効にしてください。Android 4.2以降であれば、設定の端末情報でビルド番号を7回タップすることでUSBデバッグの項目が現れます。あとは実デバイスをUSBケーブルでPCに接続します。実行時のターゲットデバイスの選択ダイアログの「Choose a running device」に該当のデバイスが表示されるはずですので、このデバイスを選択するだけです。

ここまで作成したプロジェクトのファイル群は「~/AndroidStudioProjects」に保存されています。

ちなみに、アプリなどを転送する場合に使うadbコマンドはAndroid SDKの「~/Android/Sdk/platform-tools/adb」を使用します。もしAndroid Studioをインストールしていない環境でadbコマンドを使いたい場合は、android-tools-adbパッケージをインストールするという手もあります。Ubuntu Touchなどはこちらのパッケージのadbコマンドを使用しています。またfastbootコマンドを提供するandroid-tools-fastbootパッケージも存在します。

Android Studioの使い方については、同じgihyo.jpで連載されていた、Android Studio最速入門が参考になります。1.0がリリースされる前から始まっている連載のため、今とは異なる部分もいくつか存在するものの、基本的な部分は同じなので一通り読んでおくと良いでしょう[5]⁠。

次回は

来週のRecipeはお休みです。次回は5月13日(水)公開予定となります。

おすすめ記事

記事・ニュース一覧