Linux Mint 17.1 MATEにAndroid SDKとCordovaをインストールする

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
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=17.1
DISTRIB_CODENAME=rebecca
DISTRIB_DESCRIPTION="Linux Mint 17.1 Rebecca"

依存パッケージのインストール

Androidの開発環境を構築するため、依存しているパッケージをインストールしていきます。Gitをインストールします。

$ sudo apt-get update
$ sudo apt-get install git

Oracle JDK 7と、CordovaとIonicで必要になるAntをインストールします。

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo sh -c 'echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections'
$ sudo apt-get update && sudo apt-get install oracle-java7-installer oracle-java7-set-default ant

一度ログアウトしてJAVA_HOMEなど、Javaの開発環境を確認します。

$ exit
$ echo $JAVA_HOME
/usr/lib/jvm/java-7-oracle
$ java -version
java version "1.7.0_72"
Java(TM) SE Runtime Environment (build 1.7.0_72-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.72-b04, mixed mode)
$ ant -version
Apache Ant(TM) version 1.9.3 compiled on April 8 2014

Android SDKは一部で32bit版のライブラリが必要になります。How to install ia32-libs in Ubuntu 14.04 LTS (Trusty Tahr)を参考にして必要なパッケージをインストールします。

$ sudo apt-get update
$ sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6

Android SDKのインストール

xrdpでLinux Mint 17.1のデスクトップにログインしてから作業を続けます。Android SDKをダウンロードして解凍します。

$ wget http://dl.google.com/android/android-sdk_r24.0.2-linux.tgz
$ tar zxvf android-sdk_r24.0.2-linux.tgz

Android SDKを解凍したディレクトリのPATHを追加します。

$ echo 'export ANDROID_HOME=${HOME}/android-sdk-linux' >> ${HOME}/.bashrc
$ echo 'export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools' >> ${HOME}/.bashrc
$ source ~/.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
Android Debug Bridge version 1.0.32

Node.jsをnvmでインストールする

Node.jsをnvmを使ってインストールします。

$ sudo apt-get install curl
$ curl https://raw.githubusercontent.com/creationix/nvm/v0.22.0/install.sh | bash
$ source ${HOME}/.nvm/nvm.sh
$ nvm install v0.10
$ nvm use v0.10
Now using node v0.10.35
$ nvm alias default v0.10
default -> v0.10 (-> v0.10.35)

~/.bashrcに環境変数の設定が入りました。

~/.bashrc
export ANDROID_HOME=${HOME}/android-sdk-linux
export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools


export NVM_DIR="/home/mshimizu/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

Cordovaのインストール

Cordovaはnvmでインストールしたnpmを使ってインストールします。

$ npm install -g cordova

Cordovaのバージョンを確認します。

$ cordova --version
4.1.2

AVD (Android Virtual Device)のインストール

Androidの開発を行うため、AVD (Android Virtual Device)をインストールします。まず利用できるターゲットを確認します。今回はid: 3のAPI level 19、armeabi-v7aのAVDを利用します。

$ android list targets
...
----------
id: 3 or "Google Inc.:Google APIs:19"
Name: Google APIs
Type: Add-On
Vendor: Google Inc.
Revision: 10
Description: Android + Google APIs
Based on Android 4.4.2 (API level 19)
Libraries:
* com.google.android.media.effects (effects.jar)
Collection of video effects
* com.android.future.usb.accessory (usb.jar)
API for USB Accessories
* com.google.android.maps (maps.jar)
API for Google Maps
Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
Tag/ABIs : default/armeabi-v7a
...

--targetフラグに確認したid: 3を指定してAVDを作成します。

$ android create avd --name test --target 3
Auto-selecting single ABI armeabi-v7a
Created AVD 'test' based on Google APIs (Google Inc.), ARM (armeabi-v7a) processor,
with the following hardware config:
hw.lcd.density=240
hw.ramSize=512
vm.heapSize=48

Cordovaのサンプルアプリの作成

cordovaコマンドを使いサンプルアプリを作成します。

$ cordova create cordova_test com.example.test "CordovaTestApp"
$ cd cordova_test
$ cordova platform add android

buildが成功したら、エミュレーターを起動します。

$ cordova build
$ cordova emulate

Cordovaのエミュレーターが表示されました。