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


最近一直想搞 cordova ,但問題多多,網上找了很多資料,但也沒多大進展。現在匯總下最近看的東西,如果有什么不清楚可以點擊原文地址去查看。

 

一. 安裝Node.js基本環境

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

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

node -v

  npm相關命令

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

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

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

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

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

二. 安裝Cordova

  安裝最新版本的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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM