最近一直想搞 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
这篇文章主要介绍下使用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开发环境
我是Mac系统,网上大多都是linux和windows的教程,这里我就不考虑了,我只记录mac下搭建过程
请在官方网站下载SDK
http://developer.android.com/sdk/index.html
下载好压缩包并解压缩后,根目录会有两个子目录,分别为
将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
|
那到这里就完事了吗?朋友,告诉你,还没到一半,接着往下看吧
安装ant(若是你没有安装过的话)
这里我经过Mac的homebrew进行安装,若是你不了解能够看看这篇文章
在终端里,执行下面命令安装ant
1
|
brew
install
ant
|
安装SDK
执行下面命令,打开 Android SDK Manager
1
|
android ;
exit
;
|
傻眼了吧,这么多,装哪些?别急,我也傻眼了,因此中间装了好多才成功,我这里总结下,可是可能不对,可是管他呢,做为初学者,这样至少能成功。若是你有好的文章,能够推荐给我。
若是你没法安装SDK,报dl-ssl链接不上的错,那么你可参考下面的文章修改本地HOSTS
我安装的SDK以下:
Tools下全部SDK,都安装了
没有缘由,都装,我这里十来个,不知道干吗的
Android L (API 20, L preview)
我本地的cordova当前使用的SDK是4.4.2,可能还没来得及更上版本,可是我看默认选中了几个项目,因此我这里就按照默认选中的那几项安装,包含有
Android 4.4w (API 20)
Android 4.4.2 (API 19)
上面的目录只是做为参考,并非绝对的,最主要的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模拟器?
你能够将其当作为虚拟机,能够根据操做系统,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
|
我这里为何选择4?
做为初学者,我也不知道选什么,可是我直觉告诉我有这么几个缘由
若是你也像我同样不知道如何选择,那么你能够一个个试试看
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项目所使用
解决办法:
以上内容摘录于:http://levi.yii.so/archives/3587