一、开发环境配置:

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\
參考: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

二、基本操作:
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个文件夹,打包好的project放在platforms里面

目录解释见下图
phonegap环境配置与基本操作


2、cordova创建项目:
创建命令: cordova create myapp com.yourname.myapp MyApp

进入project: 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中的执行效果。

出现的问题:把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」button关闭『Android SDK Manager - Settings』   窗体返回到主界面;



watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanl5XzEy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

(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 
或者

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanl5XzEy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

项目文件改动后再次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

phonegap环境配置与基本操作的更多相关文章

  1. Android + Eclipse + PhoneGap 环境配置

    用了3天的时间,终于把环境搭建完毕,郁闷了N天,终于完成了.这里我只是讲述我安装的过程,仅供大家参考. 环境搭建首先要去下载一些安装包: (下载前注意一下,电脑是32位还是64位的请注意选择安装包) ...

  2. Phonegap环境配置

    最初选择的是使用Phonegap桌面开发工具 Phonegap Desktop-App与 手机客户端调试工具PhoneGap Developer App,这样省事多了,可惜不能使用后续phonegap ...

  3. Phonegap 环境配置

    目前要开发 Web App 还是有比较多的选择的 如 Phonegap.MUI.AppCan,接下来以 Web前端开发工程师 的角度来一个 Phonegap 的 First Blood 一.开发环境: ...

  4. Phonegap环境配置和安装插件

    一:安装好jdk(配置好环境变量) 二:安装好Android SDK(配置好环境变量path F:\Android\android-sdk-windows\platform-tools;F:\Andr ...

  5. kafka单机环境配置以及基本操作

    安装地址(已亲测有效):https://www.linuxidc.com/Linux/2019-03/157650.htm

  6. phonegap(cordova)环境配置

    首先要配置好  java jdk 和 java jre 环境 配置之后 控制台  javac -version 查看是否配置成功 然后配置 Android sdk 配置之后 控制台 输入 adb 查看 ...

  7. 使用ionic与cordova(phonegap)进行轻量级app开发前的环境配置与打包安卓apk过程记录

     前言 有人说:"如果你恨一个人,就让ta去接触cordova(phonegap)",这是因为这里面的水很深,坑很多,真让人不是一般地发狂.或许有幸运的人儿基本顺顺利利就配置完环境 ...

  8. Android + Eclipse + PhoneGap 2.9.0 安卓最新环境配置,部分资料整合网上资料,已成功安装.

    前言:最近心血来潮做了一个以品牌为中心的网站,打算推出本地服务o2o应用.快速开发手机应用,最后选择了phonegap,这里我只是讲述我安装的过程,仅供大家参考. 我开发的一个模型http://www ...

  9. Android + Eclipse + PhoneGap 3.4 安卓最新环境配置,部分资料整合网上资料,已成功安装.

    前言:广州花都论坛,打算推出本地服务o2o应用.快速开发手机应用,phonegap 我的小站,http://www.w30.cn/ 如果有什么问题也可以到小组留言,可以的话,贡献一个ip:) phon ...

随机推荐

  1. 用递归翻转一个栈 Reverse a stack using recursion

    明白递归语句之前的语句都是顺序运行,而递归语句之后的语句都是逆序运行 package recursion; import java.util.Stack; public class Reverse_a ...

  2. VSIM生成fsdb波形文件(VERILOG)

    VSIM生成fsdb波形文件(verilog) 两步主要的设置 testbench加入函数 运行库调用 1.testbench加入函数 initial begin $fsdbDumpfile(&quo ...

  3. Visual Studio 命中断点时 打印信息

    打印时间: 开始: {DateTime.Now.ToString()} 结束: {DateTime.Now.ToString()} 搜索 复制

  4. 实施双工通信框架:SignalR

    SignalR:基于Asp.net平台构建,利用JavaScript或者Websockets,实现在客户端与服务端异步通信的框架. Html5新规范:WebSocket

  5. sealed 修饰符

    当对一个类应用 sealed 修饰符时,此修饰符会阻止其他类从该类继承. 在下面的示例中,类 B 从类 A 继承,但是任何类都不能从类 B 继承. class A {} sealed class B ...

  6. silverlight 生产图表(动态图表类型,Y轴数量) .xaml.cs文件

    silverlight 页面后台方法 .xaml.cs文件 public void CreateChart(Grid oGrid, ObservableCollection<ListItem&g ...

  7. DataSet与DataAdapter的关系

    DataSet 作用:DataSet,DataAdapter读取数据. 问:什么是DataAdapter?答:DataAdapter对象在DataSet与数据之间起桥梁作用 string strCon ...

  8. AfxOleInit()和::CoInitialize(NULL)区别

    From: http://blog.csdn.net/zhoubl668/archive/2009/04/30/4139933.aspx OLE是建立在COM之上的技术,层次比COM要高.AfxOle ...

  9. No2_4.接口继承多态_Java学习笔记_经典案例

    import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Collections; import jav ...

  10. linux查看磁盘空间

    首先如果需要查看整个磁盘还剩多少空间,可以使用命令: df -h 如果你并不关心磁盘还剩余多少空间,只是需要知道当前的文件夹下的磁盘使用情况,可以使用如下命令: -h 上面使用du --max-dep ...