1. 安装node.js,然后安装phonegap

(下载安装node.js,在http://nodejs.org/)

C:\>npm install -g phonegap

(参考http://docs.phonegap.com/en/3.0.0/guide_cli_index.md.html#The%20Command-line%20Interface)


2. 创建工程

C:\>phonegap create hello com.example.hello HelloWorld


3. 编写phonegap_android_env.bat加入PATH路径(假设最新的adt-bundle解压在目录F:\adt-bundle-windows-x86-20130219下,还需要git和java的安装路径)

@set PATH=C:\WINDOWS

@set PATH=C:\WINDOWS\system32;%PATH%

@set PATH=D:\java\apache-ant-1.8.1\bin;%PATH%


@set JAVA_HOME=D:\java\jdk1.6.0_20

@set PATH=D:\java\jdk1.6.0_20\bin;%PATH%


@set PATH=F:\adt-bundle-windows-x86-20130219\sdk\platform-tools;%PATH%

@set PATH=F:\adt-bundle-windows-x86-20130219\sdk\tools;%PATH%


@set PATH=D:\ugame\bin\git\bin;%PATH%


@cd /D "C:\"

call "C:\Program Files\nodejs\nodevars.bat"

@cmd

(注意,java.exe所在路径不需要带引号,否则可能会在phonegap -V build android时出错)


4. 编译hello工程

(先执行phonegap_android_env.bat)

C:> cd hello

C:\hello> phonegap -V build android

(使用-V以检查错误)


5. 插上设备,然后安装运行

C:\hello> phonegap run android


6. 定制网页

修改C:\hello\www\index.html(修改html代码)和C:\hello\www\config.xml(指定index.html路径名)

生成代码在C:\hello\platforms\android目录下

对于3.0之前的代码,如果不考虑插件问题,只需要把.html文件中的cordova-xxx.js改为phonegap.js即可)

注意C:\hello\www\目录下没有phonegap.js,这个文件只会出现在输出目录C:\hello\platforms\android下。


7. 安装插件(可选,需要把git.exe所在目录加入PATH路径)

C:\hello>phonegap local plugin add git://github.com/apache/cordova-plugin-device.git

(注:在https://github.com/apache的搜索栏中搜索cordova-plugin)

下载将输出到C:\hello\plugins\org.apache.cordova.core.device

插件的Java代码作为.java文件,js代码作为.js文件输出到C:\hello\platforms\android的对应目录中。

C:\hello\platforms\android\src\org\apache\cordova\device\Device.java

C:\hello\platforms\android\assets\www\plugins\org.apache.cordova.core.device\www\device.js

C:\hello\platforms\android\res\xml\config.xml

(可能还有其它文件发生变化)


8. 移除插件

C:\hello>phonegap local plugin list

[phonegap] org.apache.cordova.core.device


C:\hello>phonegap local plugin remove org.apache.cordova.core.device

[phonegap] removing the plugin: org.apache.cordova.core.device

[phonegap] successfully removed the plugin

(所有插件相关代码被移除,包括git clone到本地的代码)