Docker上に構築したAndroid開発環境はCLI環境が前提になります。画面の確認はIonicのWebサーバーに接続してWebブラウザ経由で行いました。Androidのエミュレーターを起動するためにはデスクトップ環境が必要になります。Linux Mint 17をインストールした確認した手順通りに、新しくLinux Mint 17.1をインストールしてAndroid開発環境を構築していきます。
Linux Mint 17.1のインストール
17.1の仮想マシンをIDCFクラウド上に用意しました。
$ cat /etc/lsb-release |
依存パッケージのインストール
Androidの開発環境を構築するため、依存しているパッケージをインストールしていきます。Gitをインストールします。
$ sudo apt-get update |
Oracle JDK 7と、CordovaとIonicで必要になるAntをインストールします。
$ sudo add-apt-repository ppa:webupd8team/java |
一度ログアウトしてJAVA_HOME
など、Javaの開発環境を確認します。
$ exit |
Android SDKは一部で32bit版のライブラリが必要になります。How to install ia32-libs in Ubuntu 14.04 LTS (Trusty Tahr)を参考にして必要なパッケージをインストールします。
$ sudo apt-get update |
Android SDKのインストール
xrdpでLinux Mint 17.1のデスクトップにログインしてから作業を続けます。Android SDKをダウンロードして解凍します。
$ wget http://dl.google.com/android/android-sdk_r24.0.2-linux.tgz |
Android SDKを解凍したディレクトリのPATHを追加します。
$ echo 'export ANDROID_HOME=${HOME}/android-sdk-linux' >> ${HOME}/.bashrc |
android
コマンドを実行してAndroid SDK Managerが起動します。
$ android |
デフォルトの選択状態にAndroid 4.4.2 (API 19)を追加します。
- Tools -> Android SDK Tools 24.0.2
- Tools -> Android SDK Platform-tools 21
- Tools -> Android SDK Build-tools 21.1.2
- Android 5.0.1 (API 21)
- Android 4.4.2 (API 19)
- Extras -> Android Support Library 21.03
Install
ボタンをクリック後、ライセンスに同意してインストールします。
adb (Android Debug Bridge) インストールを確認します。
$ adb version |
Node.jsをnvmでインストールする
Node.jsをnvmを使ってインストールします。
$ sudo apt-get install curl |
~/.bashrc
に環境変数の設定が入りました。
export ANDROID_HOME=${HOME}/android-sdk-linux |
Cordovaのインストール
Cordovaはnvmでインストールしたnpmを使ってインストールします。
$ npm install -g cordova |
Cordovaのバージョンを確認します。
$ cordova --version |
AVD (Android Virtual Device)のインストール
Androidの開発を行うため、AVD (Android Virtual Device)をインストールします。まず利用できるターゲットを確認します。今回はid: 3のAPI level 19、armeabi-v7aのAVDを利用します。
$ android list targets |
--target
フラグに確認したid: 3を指定してAVDを作成します。
$ android create avd --name test --target 3 |
Cordovaのサンプルアプリの作成
cordovaコマンドを使いサンプルアプリを作成します。
$ cordova create cordova_test com.example.test "CordovaTestApp" |
buildが成功したら、エミュレーターを起動します。
$ cordova build |
Cordovaのエミュレーターが表示されました。