phonegap环境配置与基本操作
一、开发环境配置:
1、工具环境安装:
安装java sdk 1.6以上版本,Android Development Tools、ant,系统变量 Path后面添加
新增名稱 JAVA_HOME 值為 JAVA 安裝路徑 C:\Program Files\Java\jdk1.7.0_21
新增名稱 ANT_HOME 值為 ANT 安裝路徑 C:\Program Files (x86)\apache-ant-1.9.3
修改 Path 屬性的值
保留原本的值,在原本的後面加上;%JAVA_HOME%\bin\;%ANT_HOME%\bin\;SDK安裝目錄\tools\;SDK安裝目錄\platform-tools\
新增名稱 ANT_HOME 值為 ANT 安裝路徑 C:\Program Files (x86)\apache-ant-1.9.3
修改 Path 屬性的值
保留原本的值,在原本的後面加上;%JAVA_HOME%\bin\;%ANT_HOME%\bin\;SDK安裝目錄\tools\;SDK安裝目錄\platform-tools\
参考:http://jingyan.baidu.com/album/adc815136c6cf5f723bf7389.html
在eclipse里启动安卓虚拟机
window > Android Virtual Device Manager
在eclipse里运行自己的项目:
项目右键 > run as > Android Application
2、 安装phonegap|cordova:
npm install -g phonega
npm install -g cordova
win8下报错: cb() never called
解决方法,编辑.npmrc,命令如下:
vim ~/.npmrc
registry = http://registry.npmjs.vitecho.com
npm install -g cordova
win8下报错: cb() never called
解决方法,编辑.npmrc,命令如下:
vim ~/.npmrc
registry = http://registry.npmjs.vitecho.com
二、基本操作:
cordova与phonegap关系:Apache Cordova是PhoneGap贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎。你可以帮他想象成类似于Webkit和Google Chrome的关系
知乎上的解释:cordova是一个移动应用开发框架,你基于这个东西可以用网页代码作出APP。Phonegap Build是一个在线打包工具,你把使用cordova写好的项目给Phonegap Build,Phonegap Build就会在线打包成App。
目前大家所说的Phonegap,其实指的都是cordova,而那个真正被Adobe收购了的Phonegap(PhoneGap | Home),现在是Phonegap Build,(iPhone, Android SDK service)和cordova(Apache Cordova)的合体。
而对于你面对的实际问题,就是需不需要Phonegap Build的功能,需不需要在线打包。
phonegap命令会被解释成对应的cordova命令
官网文档:
cordova插件:http://plugins.cordova.io/#/
各系统对插件功能支持情况:http://cordova.apache.org/docs/en/5.0.0/guide_support_index.md.html#Platform%20Support
1、phonegap创建项目:
phonegap create myapp
cd myapp
phonegap run android (执行该命令后会启动安卓模拟器可预览)
第一个 phonegap写的程序就出现了
在myapp 目录下会出现5个文件夹,打包好的工程放在platforms里面
文件夹解释见下图
cd myapp
phonegap run android (执行该命令后会启动安卓模拟器可预览)
第一个 phonegap写的程序就出现了
在myapp 目录下会出现5个文件夹,打包好的工程放在platforms里面
文件夹解释见下图
phonegap环境配置与基本操作
2、cordova创建项目:
创建命令: cordova create myapp com.yourname.myapp MyApp
进入工程: cd myapp
添加平台支持 :
cordova platforms add ios
cordova platforms add android
cordova platforms ls
添加插件:
cordova plugin add org.apache.cordova.device
cordova plugin add org.apache.cordova.console
cordova plugin ls
编译代码(打包APP):
cordova build android
运行代码:
在模拟器上运行(前提是创建好AVD)
cordova emulate android
Windows下convert命令冲突,直接“cordova emulate android”会报Error: spawn ENOENT,需要先启动模拟器。
在浏览器运行:
cordova serve android
浏览器访问地址:http://localhost:8000/,就可以和调试页面一样调试app的布局了。如果app中使用了cordova的Native API调用,会弹出以下对话框:
通过USB直接安装到真机:
cordova run android
进入工程: cd myapp
添加平台支持 :
cordova platforms add ios
cordova platforms add android
cordova platforms ls
添加插件:
cordova plugin add org.apache.cordova.device
cordova plugin add org.apache.cordova.console
cordova plugin ls
编译代码(打包APP):
cordova build android
运行代码:
在模拟器上运行(前提是创建好AVD)
cordova emulate android
Windows下convert命令冲突,直接“cordova emulate android”会报Error: spawn ENOENT,需要先启动模拟器。
在浏览器运行:
cordova serve android
浏览器访问地址:http://localhost:8000/,就可以和调试页面一样调试app的布局了。如果app中使用了cordova的Native API调用,会弹出以下对话框:
通过USB直接安装到真机:
cordova run android
报错:Error:Please install Android target:"android-22"
这个主要是没有安装和当前cordova对应要求的android平台sdk,这个可以通过2种方法解决,
打开ADT,打开Android SDK manager,安装对应平台的SDK。(参考下一小节)
打开如下目录,可能其中的版本号不一,
项目路径\platforms\android\project.properties
修改
target=android-19
可以把这个修改成你现在已安装的平Andriod台,或者想要指定的Android平台。
这个问题解决后,上面的示例项目即可生成,然后使用ADT Eclipse导入该项目即可,同意通过运行,查看在AVD中的运行效果。
打开ADT,打开Android SDK manager,安装对应平台的SDK。(参考下一小节)
打开如下目录,可能其中的版本号不一,
项目路径\platforms\android\project.properties
修改
target=android-19
可以把这个修改成你现在已安装的平Andriod台,或者想要指定的Android平台。
这个问题解决后,上面的示例项目即可生成,然后使用ADT Eclipse导入该项目即可,同意通过运行,查看在AVD中的运行效果。
出现的问题:把target改成android-19后build命令报错,还是安心地升级到android22版本吧 :(
Android SDK Manager国内无法更新的解决方案
(1)启动 Android SDK Manager ,打开主界面,依次选择「Tools」、「Options...」,弹出『Android SDK Manager - Settings』窗口;
(2)在『Android SDK Manager - Settings』窗口中,在「HTTP Proxy Server」和「HTTP Proxy Port」输入框内填入mirrors.neusoft.edu.cn和80,并且选 中「Force https://... sources to be fetched using http://...」复选框。设置完成后单击「Close」按钮关闭『Android SDK Manager - Settings』 窗口返回到主界面;
![]()
![](//img-blog.csdn.net/20150608182635496?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanl5XzEy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
(3)依次选择「Packages」、「Reload」。
(2)在『Android SDK Manager - Settings』窗口中,在「HTTP Proxy Server」和「HTTP Proxy Port」输入框内填入mirrors.neusoft.edu.cn和80,并且选 中「Force https://... sources to be fetched using http://...」复选框。设置完成后单击「Close」按钮关闭『Android SDK Manager - Settings』 窗口返回到主界面;
(3)依次选择「Packages」、「Reload」。
cordova默认安装的是android22,安装android22方法:
Tools > Manage Add-on Sites > 选择对应的版本安装
3、eclipse操作
(1)新建项目
file > new > android application project
(2)导入项目
右键import > Android(Existion Android Code Into Workspace) > 选择已建立项目目录
(3)运行项目(项目文件修改后无法做到在模拟器中刷新)
项目右键 > run as > Android Application
或者
项目文件修改后再次run as可更新APP,
phonegap项目模拟器里的文件一直不更新 : (
三、打包APP:
命令如下:
phonegap build android (apk生成目录在platforms\android\ant-build)
或者cordova build android (生成目录platforms\android\build\outputs\apk)
四、安卓模拟器中管理APP:
1、模拟器中安装APP
(1)在eclipse里运行项目即会在模拟器中安装该APP,同理能过run命令运行的APP也会在模拟器中安装。
(2)进入APP所在目录,运行命令:adb install XXX.apk
2、模拟器中卸载APP
在模拟器中长按项目图标拖动到卸载,拖到APP info可停止运行APP