Cordova4.0 環境搭建-測試運行

最近一直想搞 cordova ,但問題多多,網上找了不少資料,但也沒多大進展。如今彙總下最近看的東西,若是有什麼不清楚能夠點擊原文地址去查看。html

 

一. 安裝Node.js基本環境node

  官網下載地址:https://nodejs.org/linux

  安裝成功以後可使用簡單命令查看其版本android

node -v

  npm相關命令ios

node cli.js install npm -gf         //安裝最新的NPM
node cli.js install npm@1.0.105 -gf //能夠安裝指定版本的NPM

   安裝Ant:http://ant.apache.org/git

   安裝Git: http://git-scm.com/apache

   下載Android SDK 以及開發工具,目前有Android Studio 工具比較方便npm

   共享一個Android SDK下載地址: http://pan.baidu.com/s/1i3vjl8Twindows

二. 安裝Cordovabash

  安裝最新版本的Cordova

npm install -g cordova

  安裝指定版本的Cordova

npm install -g cordova@4.0.0

  查看Cordova的基本信息狀況

npm info cordova 

  更新Cordova版本

npm update cordova -g

   更多命令請查看官網

 

三. 建立一個解決方案

  指定一個工做目錄,而後再cmd命令行總進入這個目錄,好比M:\Android\PhoneGap0602

cd M:\Android\PhoneGap0602

  建立一個解決方案,使用以下命令,建立成功以後你會發現裏面建立了bertphone文件夾

cordova create bertphone com.yourname.myapp BertPhone

         進入工程目錄

cd bertphone

  添加對平臺的支持

cordova platforms add android

  添加插件的支持

cordova plugin add org.apache.cordova.device 
cordova plugin add org.apache.cordova.console 

 

  以上內容摘錄於http://www.cnblogs.com/qingyuan/p/4557715.html

 

 

如何建立Android 應用

這篇文章主要介紹下使用cordova建立Android的應用。本來我認爲應該和ios同樣簡單,不事後面我發現錯了,不是我想象中那樣。我將我搭建的過程記錄下來,做爲經驗記錄,也但願對須要的朋友起到或多或少的幫助。

若是說不考慮Android自己的SDK以及虛擬機的話,使用cordova建立Andorid應用會向下面這般簡單

1
2
3
4
5
6
7
8
9
10
11
# 進入app根目錄
cd my-app
 
# 檢查支持平臺,若是有android,說明你能夠開發android應用
cordova platforms list
 
# 建立應用
cordova platform add android
 
# 啓動虛擬機
cordova emulate android

可是,這個前提是你自己已搭建好了Android開發環境,若是沒有,抱歉,你會和我同樣出現相似下面的錯誤提示:

Error: The command 「android」 failed. Make sure you have the latest Android SDK installed

怎麼辦呢?參考官方的文檔 [點擊查看],下面開始說說搭建Android開發環境

搭建Android開發環境

我是Mac系統,網上大多都是linux和windows的教程,這裏我就不考慮了,我只記錄mac下搭建過程

第一步、下載SDK

請在官方網站下載SDK

http://developer.android.com/sdk/index.html

第二步、設置SDK環境

下載好壓縮包並解壓縮後,根目錄會有兩個子目錄,分別爲

  • eclipse:編輯器
  • sdk:SDK目錄

將SDK目錄拷貝到指定位置,我這裏設置到Mac當前用戶的家目錄

1
cp /adt-bundle-mac-x86_64-20140702/sdk  ~ /Development/adt-bundle

設置PATH環境

1
$ vi ~/.bash_profile

末尾添加SDK路徑

1
export PATH=${PATH}:$HOME /Development/adt-bundle/sdk/platform-tools :$HOME /Development/adt-bundle/sdk/tools

執行生效

1
source ~/.bash_profile

那到這裏就完事了嗎?朋友,告訴你,還沒到一半,接着往下看吧

第三步,安裝環境須要的軟件及SDK

安裝ant(若是你沒有安裝過的話)

這裏我經過Mac的homebrew進行安裝,若是你不瞭解能夠看看這篇文章

Mac開發者利器-Homebrew介紹及安裝

http://levi.yii.so/archives/1742

在終端裏,執行下面命令安裝ant

1
brew install ant

安裝SDK

執行下面命令,打開 Android SDK Manager

1
android ; exit ;

傻眼了吧,這麼多,裝哪些?別急,我也傻眼了,因此中間裝了好多才成功,我這裏總結下,可是可能不對,可是管他呢,做爲初學者,這樣至少能成功。若是你有好的文章,能夠推薦給我。

若是你沒法安裝SDK,報dl-ssl鏈接不上的錯,那麼你可參考下面的文章修改本地HOSTS

不用FQ,便可訪問google等網站hosts,及修改方法

http://levi.yii.so/archives/3553

我安裝的SDK以下:

Snip20140827_17

Tools下全部SDK,都安裝了

沒有緣由,都裝,我這裏十來個,不知道幹嗎的

Android L (API 20, L preview)

我本地的cordova當前使用的SDK是4.4.2,可能還沒來得及更上版本,可是我看默認選中了幾個項目,因此我這裏就按照默認選中的那幾項安裝,包含有

  • SDK Platform Android L preview
  • Android TV ARM EABI v7a System image
  • Android TV Intel x86 Atom System image
  • ARM EABI v7a System image
  • Intel x86 Atom System image

Android 4.4w (API 20)

  • SDK Platform Android
  • Android Wear ARM EABI v7a System image
  • Android Wear Intel x86 Atom System image

Android 4.4.2 (API 19)

  • SDK Platform Android
  • ARM EABI v7a System image
  • Intel x86 Atom System image
  • Google APIs (x86 System Image)
  • Google APIs (ARM System Image)

上面的目錄只是做爲參考,並非絕對的,最主要的SDK是Tools及API19,由於目前cordova使用的SDK就是API19,之後會根據狀況改變

幾個我碰到的問題,及解決方法

問題1:

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.

解決方法:安裝 android 4.4.2 sdk

問題2:

This platform has more than one ABI.

這個問題,多是由於你本地環境中沒有AVD模擬器,而如何建立AVD模擬器,咱稍後說,你先確保相應的SDK是否有安裝好,即android 4.4.2 sdk中的System image。

第四步、建立AVD模擬器

看到如今,你是否和我同樣,有種累覺不愛的感覺。表急,這是最後一步了。

什麼是AVD模擬器?

你能夠將其當作爲虛擬機,能夠根據操做系統,OS版本而產生的不一樣的虛擬機

1.查看當前支持版本 (在列出的版本中咱們須要記住id值,這個值在第2步中使用):

1
android list targets

這是我本地狀況

Available Android targets:
----------
id: 1 or "android-19"
     Name: Android 4.4.2
     Type: Platform
     API level: 19
     Revision: 3
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
 Tag/ABIs : default/armeabi-v7a, default/x86
----------
id: 2 or "android-20"
     Name: Android 4.4W
     Type: Platform
     API level: 20
     Revision: 1
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in, AndroidWearRound, AndroidWearSquare, AndroidWearRound, AndroidWearSquare
 Tag/ABIs : android-wear/armeabi-v7a, android-wear/x86
----------
id: 3 or "android-L"
     Name: Android L (Preview)
     Type: Platform
     API level: L
     Revision: 3
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
 Tag/ABIs : android-tv/armeabi-v7a, android-tv/x86, default/armeabi-v7a, default/x86
----------
id: 4 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: WXGA720, WVGA854, QVGA, WVGA800 (default), WSVGA, WXGA800-7in, WXGA800, WQVGA432, HVGA, WQVGA400
 Tag/ABIs : default/armeabi-v7a
----------
id: 5 or "Google Inc.:Google APIs (x86 System Image):19"
     Name: Google APIs (x86 System Image)
     Type: Add-On
     Vendor: Google Inc.
     Revision: 7
     Description: Android x86 + 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: WXGA720, WVGA854, QVGA, WVGA800 (default), WSVGA, WXGA800-7in, WXGA800, WQVGA432, HVGA, WQVGA400
 Tag/ABIs : default/x86

2.1 建立AVD:

1
$ android create avd –n AVD-API16 –t 4
  • -n:AVD的名稱,自定義
  • -t:最後的4表示建立Android版本的avd

我這裏爲何選擇4?

做爲初學者,我也不知道選什麼,可是我直覺告訴我有這麼幾個緣由

  • 必定得是 Android 4.4.2 (API level 19)
  • 必須是 ARM 而不是Inter Atom,或是X86什麼的

若是你也像我同樣不知道如何選擇,那麼你能夠一個個試試看

2.2 建立帶SD卡的模擬器:

2.2.1 建立鏡像文件

1
$ mksdcard 128M sdcard.img

2.2.2 建立AVD

1
$ android create avd -n AVD-API16 -t 4 -c "The path to SD"

3. 查看是否建立成功

1
$ android list avd

若是成功會顯示剛纔咱們建立的avd信息

Available Android Virtual Devices:
    Name: AVD-API16
    Path: /Users/liwei/.android/avd/AVD-API16.avd
  Target: Google APIs (Google Inc.)
          Based on Android 4.4.2 (API level 19)
 Tag/ABI: default/armeabi-v7a
    Skin: WVGA800

4. 啓動AVD模擬器

1
$ emulator -avd AVD-API16

或者

1
$ emulator @AVD-API16

5. 刪除AVD模擬器:

1
$ android delete avd -n AVD-API16

我碰到的問題

在我建立好AVD後,一開始我使用的ID是5,經過cordova啓動Android虛擬機出現錯誤

emulator: Failed to open the HAX device!

說明建立的AVD並不能被cordova項目所使用

解決辦法:

  1. 刪除剛纔建立的AVD
  2. 建立一個新的AVD,ID爲4

 

  以上內容摘錄於:http://levi.yii.so/archives/3587

相關文章
相關標籤/搜索