Ubuntu12.4にphonegap(cordova)をインストールしてカジュアルにネイティブアプリを作成する・・・ための環境を作る呪文
多くのサイトがGUI操作を前提にチュートリアルを書いてたりするので、ドキュメントの隙間を縫ってCLI環境でのphonegap環境について書く。マルチプラットフォーム(AndroidやらiPhoneやらTizenやら)のアプリを構築できるphoneGapだが、何分Androidくらいしか知識がないので、とりあえずAndroidだけのBuildを目指す。
事前準備: Android環境を構築する
phoneGap内部ではandroidのbuildを行う=antを叩くので、当然ながらandroid環境が必要だ。手前味噌だが以下を参考に構築するとスムーズかもしれない。
事前準備: nodejsを入れる。
*env系をまとめて管理できるanyenvをインストール
@riywoさんが書いた、ndenvとかrbenvとかplenvをまとめて管理してくれる便利ツールがあるのでanyenv経由でndenvをインストールする。便利なのでみんなanyenv使うといいよ!!
riywo/anyenv こちらにanyenvと*envのインストール方法書いてあるのでコピペすればよし。以下コピペ。
$ git clone https://github.com/riywo/anyenv ~/.anyenv $ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.your_profile $ echo 'eval "$(anyenv init -)"' >> ~/.your_profile $ exec $SHELL -l
ndenvをインストール
$ anyenv install ndenv $ exec $SEHLL -l
nodejsをインストール
phoneGapのCLI版はnode-0.9.9以上を要求するらしいので、情弱な僕は言われた通りに0.9.9を入れる。
$ ndenv install 0.9.9 $ ndenv rehash $ ndenv global 0.9.9 $ node -v v0.9.9
グローバルにcordovaをインストール
cordovaという名前空間にあるので、そいつをグローバル(-g)でインストールする。
$ npm -g install cordova --save $ cordova -v 2.9.0rc1
試しにプロジェクトをつくってみる
cordovaコマンドを打ち込むとヘルプが出てくる。プロジェクトの作り方は以下のようにすればOKらしい。
Global Commands
create
[ID] [NAME] ............... creates a cordova project in the specified PATH, with
とのことなので、Helloworldをば。
$ cordova create ~/project/cordova-helloworld helloworld.cordva.ry-m.com helloworld $ cd cordova-helloworld $ cordova platform add android $ cordova build $ cordova serve android Static file server running at => http://localhost:8000/ CTRL + C to shutdown
ずらっとヘルプにあるコマンドを試打してみたが、上から「プロジェクト作成」「androidをプラットフォームとして追加」「ビルドの実行(androidにおいてはapkファイルの生成)」「アプリのHTMLリソースをlocalhostのドメインでサーバーを立てる」となっている。
cordova自体にサーバーの機構があるので、localhostに立ててあげれば制作して変更のたびにbuildしなくてもおおまかな動作は追えるという便利さである。
……なお、Android環境が構築出来てないと以下のようなエラーになるので、気をつけろ!
$ cordova platform add android [~/project/cordova-helloworld] The command `android` failed. Make sure you have the latest Android SDK installed, and the `android` command (inside the tools/ folder) added to your path. Output: /bin/sh: android: not found
おまけ: JenkinsでBuild環境を用意する
Jenkinsに追加したい場合は、
ビルド > シェルの実行
事前にインストールしとくやつ
- node v0.9.9
- cordova 2.9.0rc1
export PATH="$HOME/.anyenv/envs/ndenv/versions/0.9.9/bin:/usr/bin:$PATH"
export PATH="$HOME/.anyenv/envs/ndenv/versions/0.9.9/lib/node_modules/cordova/bin/:/usr/bin:$PATH"cd ${WORKSPACE}
echo BUILD PROJECT
cordova build
ってすればいい。