のらねこの気まま暮らし

技術系だけど、Qiita向きではないポエムとかを書くめったに更新されないヤツ

Ubuntu12.4にphonegap(cordova)をインストールしてカジュアルにネイティブアプリを作成する・・・ための環境を作る呪文

多くのサイトがGUI操作を前提にチュートリアルを書いてたりするので、ドキュメントの隙間を縫ってCLI環境でのphonegap環境について書く。マルチプラットフォームAndroidやらiPhoneやらTizenやら)のアプリを構築できるphoneGapだが、何分Androidくらいしか知識がないので、とりあえずAndroidだけのBuildを目指す。

事前準備: Android環境を構築する

phoneGap内部ではandroidのbuildを行う=antを叩くので、当然ながらandroid環境が必要だ。手前味噌だが以下を参考に構築するとスムーズかもしれない。

CUI(CLI)でAndroidプロジェクトを作成・Build環境を整える呪文

事前準備: nodejsを入れる。

*env系をまとめて管理できるanyenvをインストール

anyenvという**env系の簡易マネージャを作った

@さんが書いた、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

ってすればいい。