phonegap开发经验谈之一命令行建立项目和准备工作
一安装与配置
安装命令行配置,这个可以参见网上的.3.0的最好用命令行配置。
大家在安装android sdk的时候,会发现里面自带了一个eclipse,并且继承了adt,直接用这个就好了。当然你已经有别的版本的eclipse并用了很长时间安装插件就可以了。
安装phonegap 3.x首先要安装的就是npm并配置环境变量,这样才能够保证获取到phonegap最新的代码,方便快捷,注意必须在联网的环境下进行操作.当然如果你熟悉git也可以从git上直接下载源码.
安装android sdk以后,ant也是必须安装的,这是构建项目必须的,当然jdk也是必须,都必须配置正确。如果不会去百度。
===================下面是例子=================
F:\>phonegap create f:\demo\demo org.demo Demo
[phonegap] created project at f:\demo\demo
F:\>cd demo
F:\demo>cd demo
F:\demo\demo>tree
文件夹 PATH 列表
卷序列号为 00000200 942D:D5B4
F:.
├─.cordova
│ └─hooks
│ ├─after_build
│ ├─after_compile
│ ├─after_docs
│ ├─after_emulate
│ ├─after_platform_add
│ ├─after_platform_ls
│ ├─after_platform_rm
│ ├─after_plugin_add
│ ├─after_plugin_ls
│ ├─after_plugin_rm
│ ├─after_prepare
│ ├─after_run
│ ├─before_build
│ ├─before_compile
│ ├─before_docs
│ ├─before_emulate
│ ├─before_platform_add
│ ├─before_platform_ls
│ ├─before_platform_rm
│ ├─before_plugin_add
│ ├─before_plugin_ls
│ ├─before_plugin_rm
│ ├─before_prepare
│ └─before_run
├─merges
├─platforms
├─plugins
└─www大家看这个目录很重要,这个目录就是整个应用项目的模版app,如果不用ide的话,直接编辑这里的网页并且用命令行编译也是可以的。不同的是用eclipse | 编译的时候在真机上的速度要比命令行快很多。
├─css
├─img
├─js
├─res
│ ├─icon
│ │ ├─android
│ │ ├─bada
│ │ ├─bada-wac
│ │ ├─blackberry
│ │ ├─ios
│ │ ├─tizen
│ │ ├─webos
│ │ └─windows-phone
│ └─screen
│ ├─android
│ ├─bada
│ ├─bada-wac
│ ├─blackberry
│ ├─ios
│ ├─tizen
│ ├─webos
│ └─windows-phone
└─spec
└─lib
└─jasmine-1.2.0
===================例子结束==================
大家看上面的目录结构,就是利用phonegap的cli命令生成的默认结构
配置完成后生成空白的phonegap项目,最好在这里定义图标,配置文件名
大家看这个目录很重要,这个目录就是整个应用项目的模版app,如果不用ide的话,直接编辑这里的网页并且用命令行编译也是可以的。不同的是用eclipse 编译的时候在真机上的速度要比命令行快很多。我们来看看这个目录.
F:\demo\demo>cd www
F:\demo\demo\www>dir
驱动器 F 中的卷没有标签。
卷的序列号是 942D-D5B4
F:\demo\demo\www 的目录
2014-01-08 09:09 <DIR> .
2014-01-08 09:09 <DIR> ..
2014-01-08 09:09 3,625 config.xml
2014-01-08 09:09 <DIR> css
2014-01-08 09:09 11,401 icon.png
2014-01-08 09:09 <DIR> img
2014-01-08 09:09 1,927 index.html
2014-01-08 09:09 <DIR> js
2014-01-08 09:09 <DIR> res
2014-01-08 09:09 <DIR> spec
2014-01-08 09:09 2,532 spec.html
4 个文件 19,485 字节
7 个目录 76,825,452,544 可用字节
这里面的config.xml就是最初的配置文件,这里面可以直接修改应用程序在手机里显示的名称.
icon.png其实就是项目的图标,128*128,系统会根据这个图标生成在android平台项目的res目录下的图标.注意到这里为止我们只是建立了模版,我们需要添加我们需要的平台,或者你直接build一下android程序都是可以的.直接build会直接生成android程序
F:\demo\demo>phonegap build android
[phonegap] detecting Android SDK environment..
[phonegap] using the local environment
[phonegap] adding the Android platform...
[phonegap] compiling Android...
[phonegap] successfully compiled Android app
可以看到,编译的时候首先寻找android sdk的环境,所以你必须首先配置好,不然build失败.我们再来看目录
F:\demo\demo>tree
文件夹 PATH 列表
卷序列号为 00000200 942D:D5B4
F:.
├─.cordova
│ └─hooks
│ ├─after_build
│ ├─after_compile
│ ├─after_docs
│ ├─after_emulate
│ ├─after_platform_add
│ ├─after_platform_ls
│ ├─after_platform_rm
│ ├─after_plugin_add
│ ├─after_plugin_ls
│ ├─after_plugin_rm
│ ├─after_prepare
│ ├─after_run
│ ├─before_build
│ ├─before_compile
│ ├─before_docs
│ ├─before_emulate
│ ├─before_platform_add
│ ├─before_platform_ls
│ ├─before_platform_rm
│ ├─before_plugin_add
│ ├─before_plugin_ls
│ ├─before_plugin_rm
│ ├─before_prepare
│ └─before_run
├─merges
│ └─android
├─platforms
│ └─android
│ ├─assets
│ │ └─www
│ │ ├─css
│ │ ├─img
│ │ ├─js
│ │ ├─res
│ │ │ ├─icon
│ │ │ │ ├─android
│ │ │ │ ├─bada
│ │ │ │ ├─bada-wac
│ │ │ │ ├─blackberry
│ │ │ │ ├─ios
│ │ │ │ ├─tizen
│ │ │ │ ├─webos
│ │ │ │ └─windows-phone
│ │ │ └─screen
│ │ │ ├─android
│ │ │ ├─bada
│ │ │ ├─bada-wac
│ │ │ ├─blackberry
│ │ │ ├─ios
│ │ │ ├─tizen
│ │ │ ├─webos
│ │ │ └─windows-phone
│ │ └─spec
│ │ └─lib
│ │ └─jasmine-1.2.0
│ ├─bin
│ │ ├─classes
│ │ │ └─org
│ │ │ └─demo
│ │ ├─dexedLibs
│ │ └─res
│ │ ├─drawable
│ │ ├─drawable-hdpi
│ │ ├─drawable-ldpi
│ │ ├─drawable-mdpi
│ │ └─drawable-xhdpi
│ ├─cordova
│ │ ├─lib
│ │ └─node_modules
│ │ ├─.bin
│ │ ├─q
│ │ │ └─benchmark
│ │ └─shelljs
│ │ ├─bin
│ │ ├─scripts
│ │ └─src
│ ├─CordovaLib
│ │ ├─bin
│ │ │ ├─classes
│ │ │ │ ├─com
│ │ │ │ │ └─squareup
│ │ │ │ │ └─okhttp
│ │ │ │ │ └─internal
│ │ │ │ │ ├─http
│ │ │ │ │ └─spdy
│ │ │ │ └─org
│ │ │ │ └─apache
│ │ │ │ └─cordova
│ │ │ ├─dexedLibs
│ │ │ └─res
│ │ ├─gen
│ │ │ └─org
│ │ │ └─apache
│ │ │ └─cordova
│ │ ├─libs
│ │ ├─res
│ │ └─src
│ │ ├─com
│ │ │ └─squareup
│ │ │ └─okhttp
│ │ │ └─internal
│ │ │ ├─http
│ │ │ └─spdy
│ │ └─org
│ │ └─apache
│ │ └─cordova
│ ├─gen
│ │ └─org
│ │ └─demo
│ ├─libs
│ ├─platform_www
│ ├─res
│ │ ├─drawable
│ │ ├─drawable-hdpi
│ │ ├─drawable-ldpi
│ │ ├─drawable-mdpi
│ │ ├─drawable-xhdpi
│ │ ├─values
│ │ └─xml
│ └─src
│ └─org
│ └─demo
├─plugins
└─www
├─css
├─img
├─js
├─res
│ ├─icon
│ │ ├─android
│ │ ├─bada
│ │ ├─bada-wac
│ │ ├─blackberry
│ │ ├─ios
│ │ ├─tizen
│ │ ├─webos
│ │ └─windows-phone
│ └─screen
│ ├─android
│ ├─bada
│ ├─bada-wac
│ ├─blackberry
│ ├─ios
│ ├─tizen
│ ├─webos
│ └─windows-phone
└─spec
└─lib
└─jasmine-1.2.0
你会注意到绿色的多了很多内容其中最重要的是platform下面的内容,这就是我们针对具体平台生成的代码,这个时候才可以说用phonegap开发android手机应用彻底准备完毕.这里有很多文件,感兴趣的可以自己去看.
还要注意的是phonegap的3.0分支,所有的api都是插件的形式,用的时候需要临时添加在命令行,具体可以参考文档.建议使用命令行添加和build程序,这样会自动将添加的插件插入到android代码的配置文件里.我用dw编辑一开始的www目录的文件,然后在命令行里编译,eclipse只是为了运行罢了.
要注意的是在命令行里编译后,eclipse可能会报错,是由于文件不同步的愿意,右键单击项目然后刷新就好了.
要注意到很多功能必须在真机上才能测试的,因为phonegap是针对移动平台的,很多事件浏览器是不支持的.
再比如pg的同源策略,跨域加载文件在真机里也是允许的,但是浏览器不支持.
附赠我的path,和开发无关的设置我都去掉了.
F:\demo\demo>path
PATH=F:\nodej
s\;F:\ant\bin;C:\Program Files\Java\jdk1.7.0_45\bin;C:\Program Files\Java\jdk1.7
.0_45\jre\bin;F:\adt\sdk\tools;F:\adt\sdk\platform-tools;F:\adt\sdk\build-tools;
C:\Users\Administrator\AppData\Roaming\npm;C:\Users\Administrator\AppData\Roamin
g\npm
可以看到java,npm,android sdk和ant都配置了,需要注意的是android adt需要配置三个,分别是:F:\adt\sdk\tools;F:\adt\sdk\platform-tools;F:\adt\sdk\build-tools;
最后是在adt里面利用已有的代码建立应用程序.
下一期是phonegap中加载web页面,并对web页面进行修改
phonegap开发经验谈之一命令行建立项目和准备工作的更多相关文章
- iOS系统提供开发环境下命令行编译工具:xcodebuild
iOS系统提供开发环境下命令行编译工具:xcodebuild[3] xcodebuild 在介绍xcodebuild之前,需要先弄清楚一些在XCode环境下的一些概念[4]: Workspace:简单 ...
- egret命令行编译项目时 版本不对应的问题
egret 命令行编译项目时 如使用 egret build -e 会出现版本不对应的问题 分析原因 A,B项目 A项目使用1.8的egret引擎, B项目使用2.5引擎 但本地引擎升级至2.5.5, ...
- cocos命令行生成项目
cocos命令行生成项目: cocos new GoodDay(项目名称) -p com.boleban.www(包名字) -l cpp(项目类型) -d D:\DevProject\cocos2dx ...
- Maven 命令行创建项目时 Could not find goal ‘create’ in plugin org.apache.maven.plugins:...
使用maven3.3.9 版本,进行命令行创建项目时输入以下命令创建失败 mvn archetype:create -DgroupId=com.zang.maven -DartifactId=sys ...
- [APP] Android 开发笔记 001-环境搭建与命令行创建项目
1. 安装JDK,SDK JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html Android SDK http ...
- [Android] 基于 Linux 命令行构建 Android 应用(二):命令行管理项目
创建 Android 项目 在命令行创建 Android 项目需要用到 android 工具(该工具由 Android SDK 提供,位于 <sdk>/tools/ 目录下.).它能自动生 ...
- 【Nodejs】326- 从零开发一个node命令行工具
本文由 IMWeb 社区授权转载自腾讯内部 KM 论坛.点击阅读原文查看 IMWeb 社区更多精彩文章. 什么是命令行工具? 命令行工具(Cmmand Line Interface)简称cli,顾名思 ...
- Windows下搭建Android NDK开发环境及命令行编译
首先说明本文内的相关安装操作参考<Pro Android C++ with the NDK>一书. 安装 Windows搭建Android NDK开发环境需要安装如下部分(同时需要配置对应 ...
- 前端技术之:如何创建一个NodeJs命令行交互项目
方法一:通过原生的NodeJs API,方法如下: #!/usr/bin/env node # test.js var argv = process.argv; console.log(argv) ...
随机推荐
- 推荐《HeadFirst设计模式》
相对于国内初版的<大话设计模式>,HeadFirst真的是更好的选择,虽然看起来很厚.很吓人,但对于初学者而言浅显易懂.直击要点,即使对设计模式熟悉的同学去读这本书相信也有很大的收获.用了 ...
- 为ASP.NET MVC视图输出json
做个小小练习,为asp.net mvc视图输出json字符串: 创建JsonResult操作: 创建此视图: 浏览结果:
- angularJs自定义指令.directive==类似自定义标签
创建自定义的指令 除了 AngularJS 内置的指令外,我们还可以创建自定义指令. 你可以使用 .directive 函数来添加自定义的指令. 要调用自定义指令,HTML 元素上需要添加自定义指令名 ...
- LeetCode Count of Smaller Numbers After Self
原题链接在这里:https://leetcode.com/problems/count-of-smaller-numbers-after-self/ 题目: You are given an inte ...
- PHP调用内容DES加密的SOAP接口
本文以方倍工作室优惠券接口开发为例,介绍PHP下DES加解密及SOAP接口调用的实现过程. 一.基础概念 DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加 ...
- Bootstrap Typeahead/Jquery autocomplete自动补全
使用Bootstrap Typeahead 组件: Bootstrap 中的 Typeahead 组件就是通常所说的自动完成 AutoComplete,自动填充. 效果如图所示: 实现方式: 1.引入 ...
- 图像的 SNR 和 PSNR 的计算
PSNR 的公式很容易搜到. http://www.360doc.com/content/12/0605/21/4129998_216244993.shtml http://blog.sina.com ...
- DuiLib学习笔记3——颜色探究
在前面两篇日志已经能使用xml了.今天准备好好的折腾一番,结果在颜色上却掉坑里了. 起初我在ps里取颜色为0104ff 这里01为R,04为G,ff为B 在控件的属性里有这样一个属性bkcolor=& ...
- mysql apache php install
设置LINUX自动匹配环境变量 1.$su #su进入root #vi /etc/profile 在文件末尾加上下列语句: PATH=$PATH:/sbin #在PATH变量后追加/sbin目录 ex ...
- PRML读书笔记——Introduction
1.1. Example: Polynomial Curve Fitting 1. Movitate a number of concepts: (1) linear models: Function ...