豚吐露@wiki

install

最終更新:

Bot(ページ名リンク)

- view
管理者のみ編集可

PhoneGap Install

LinuxMint17(amd64)Mate
nodeJS 0.10.31
PhoneGap 3.5.0-0.21.14
ADT amd64 20140702


まずはPhoneGapサイトに書いてあるようにやってみる。

$ sudo npm install -g phonegap
※『-g』optionはGlobalInstallの指定。これを指定するとnpmでinstallしたapplicationにpathが通って、どこからでもコマンド実行できるようになるらしい。

で、確認。
$ phonegap create my-app
$ cd my-app
$ phonegap run android

動かねぇ...( ̄ω ̄;)

えぇっとまずは...なんか『ant』ねぇとかどうとか...
/home/hoge/.cordova/lib/android/cordova/3.5.1/bin/[[node]]_modules/q/q.js:126
                    throw e;
                          ^
Error: ERROR : executing command 'ant', make sure you have ant installed and added to your path.
    at /home/hoge/.cordova/lib/android/cordova/3.5.1/bin/lib/check_reqs.js:47:27
    at ChildProcess.exithandler (child_process.js:652:7)
    at ChildProcess.emit (events.js:98:17)
    at maybeClose (child_process.js:756:16)
    at Socket.<anonymous> (child_process.js:969:11)
    at Socket.emit (events.js:95:17)
    at Pipe.close (net.js:465:12)
{ [Error: /home/hoge/.cordova/lib/android/cordova/3.5.1/bin/create: Command failed with exit code 8] code: 8 }
   [error] /home/hoge/.cordova/lib/android/cordova/3.5.1/bin/create: Command failed with exit code 8

ant入れます。
$ sudo apt-get install ant

で、まだダメ...Android targetの一覧が取れねぇとか曰われております。
/home/hoge/.cordova/lib/android/cordova/3.5.1/bin/node_modules/q/q.js:126
                    throw e;
                          ^
Error: An error occurred while listing Android targets
    at /home/hoge/.cordova/lib/android/cordova/3.5.1/bin/lib/check_reqs.js:87:29
    at _rejected (/home/hoge/.cordova/lib/android/cordova/3.5.1/bin/node_modules/q/q.js:808:24)
    at /home/hoge/.cordova/lib/android/cordova/3.5.1/bin/node_modules/q/q.js:834:30
    at Promise.when (/home/hoge/.cordova/lib/android/cordova/3.5.1/bin/node_modules/q/q.js:1079:31)
    at Promise.promise.promiseDispatch (/home/hoge/.cordova/lib/android/cordova/3.5.1/bin/node_modules/q/q.js:752:41)
    at /home/hoge/.cordova/lib/android/cordova/3.5.1/bin/node_modules/q/q.js:574:44
    at flush (/home/hoge/.cordova/lib/android/cordova/3.5.1/bin/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:419:13)
{ [Error: /home/hoge/.cordova/lib/android/cordova/3.5.1/bin/create: Command failed with exit code 8] code: 8 }
   [error] /home/hoge/.cordova/lib/android/cordova/3.5.1/bin/create: Command failed with exit code 8

なので、androidの場所を教えて差し上げます。
たまたま入れてたのが、Android Studioだったんで、Android Studioの場所をexport。
viかなんかで.bashrcに追加。
$ vim ~/.bashrc
export PATH=${PATH}:/home/hoge/app/android-studio/sdk/tools

※もし、場所が分からんかったら、時間はかかるけど...
$ find / -name android 2>/dev/null | grep tools/android$
とかすると良い。
見つかったscript実行すると...
$ /home/hoge/app/android-studio/sdk/tools/android list target
ってすると使えるAndroidのtargetがずらずら出てくるはず。

今度は、『Please install Android target 19』って...Android API 19が入ってないとダメらしい。(´・ω・`)
/home/hoge/.cordova/lib/android/cordova/3.5.1/bin/node_modules/q/q.js:126
                    throw e;
                          ^
Error: Please install Android target 19 (the Android newest SDK). Make sure you have the  latest Android tools installed as well. Run "android" from your command-line to  install/update any missing SDKs or tools.
    at /home/hoge/.cordova/lib/android/cordova/3.5.1/bin/lib/check_reqs.js:80:29
    at _fulfilled (/home/hoge/.cordova/lib/android/cordova/3.5.1/bin/node_modules/q/q.js:798:54)
    at self.promiseDispatch.done (/home/hoge/.cordova/lib/android/cordova/3.5.1/bin/node_modules/q/q.js:827:30)
    at Promise.promise.promiseDispatch (/home/hoge/.cordova/lib/android/cordova/3.5.1/bin/node_modules/q/q.js:760:13)
    at /home/hoge/.cordova/lib/android/cordova/3.5.1/bin/node_modules/q/q.js:574:44
    at flush (/home/hoge/.cordova/lib/android/cordova/3.5.1/bin/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:419:13)
{ [Error: /home/hoge/.cordova/lib/android/cordova/3.5.1/bin/create: Command failed with exit >code 8] code: 8 }
   [error] /home/hoge/.cordova/lib/android/cordova/3.5.1/bin/create: Command failed with exit code 8

一応確認ね。
$ android list target
結果をざっと見て、『Google APIs:19』ってのが無いから怒られてる。

こればっかりはAndroid SDKとかを使って入れんとダメ。
わしの場合は、Android Studioじゃが、[Configure]-[SDK Manager]を選んで、
ココらへんにチェックを入れてみる。

で、もっかい実行してみると...

今度はadbが見つからんと...
Error executing "adb devices": /bin/sh: 1: adb: not found

探してみたら、見つかったのでPATHに追加してみる。
$ vim ~/.bashrc
export PATH=${PATH}:/home/hoge/app/android-studio/sdk/platform-tools

で、動かしたら...buildは終わって、エミュレータ実行したいけど見つからんって言われた。
ERROR : No emulator images (avds) found, if you would like to create an
 avd follow the instructions provided here:
 http://developer.android.com/tools/devices/index.html
 Or run 'android create avd --name <name> --target <targetID>'
 in on the command line.

target listを見ると、API19のidが14だったんで...
$ android list target
----------
id: 14 or "Google Inc.:Google APIs:19"
     Name: Google APIs
     Type: Add-On
     Vendor: Google Inc.
     Revision: 7
     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: QVGA, WVGA800 (default), WSVGA, WXGA800, WXGA720, WQVGA400, WVGA854, WXGA800-7in, WQVGA432, HVGA
 Tag/ABIs : default/armeabi-v7a

targetに14を指定して適当なemulatorを作ってみる。
$ android create avd --name sample19 --target 14
Auto-selecting single ABI armeabi-v7a
Created AVD 'sample19' 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

再度挑戦。
$ phonegap run android

起動しました。ヽ(=´▽`=)ノ



更新日: 2014年09月12日 (金) 14時21分41秒

名前:
コメント:

すべてのコメントを見る
記事メニュー
ウィキ募集バナー