【PhoneGap】环境安装配置浅析

来源:互联网 发布:中国软件认证中心 编辑:程序博客网 时间:2024/05/19 12:11

由于项目需要,需要了解PhoneGap架构以其在各个平台的环境配置,阅读了官网部分文档,总结如下。

【官网地址】

http://phonegap.com/


【环境配置】

参考: http://phonegap.com/install/

1. 安装NodeJs。 打开NodeJs的官网:http://nodejs.org/   点击“install”,即可完成安装。

 NodeJS安装完成后,会自带把npm安装好,npm也在第二步中需要用到。

2. 安装phoneGap

在控制台运行命令:

sudo npm install -g phonegap

输出结果如下:

/usr/local/bin/phonegap -> /usr/local/lib/node_modules/phonegap/bin/phonegap.jsphonegap@3.1.0-0.15.0 /usr/local/lib/node_modules/phonegap├── colors@0.6.0-1├── pluralize@0.0.4├── semver@1.1.0├── qrcode-terminal@0.9.4├── shelljs@0.1.4├── optimist@0.6.0 (wordwrap@0.0.2, minimist@0.0.5)├── node-static@0.7.0 (colors@0.6.2, mime@1.2.11)├── phonegap-build@0.8.4 (qrcode-terminal@0.8.0, optimist@0.3.7, shelljs@0.0.9, phonegap-build-api@0.3.3)├── prompt@0.2.11 (revalidator@0.1.5, pkginfo@0.3.0, read@1.0.5, winston@0.6.2, utile@0.2.0)└── cordova@3.1.0-0.1.0 (ncallbacks@1.0.0, colors@0.6.2, open@0.0.3, mime@1.2.11, shelljs@0.1.2, follow-redirects@0.0.3, tar@0.1.18, prompt@0.2.7, glob@3.2.6, elementtree@0.1.5, xcode@0.5.1, npm@1.3.13, express@3.0.0, request@2.22.0, plist@0.4.3, ripple-emulator@0.9.18, plugman@0.13.0)

3. 使用phoneGap

输入命令:

$ phonegap create my-app$ cd my-app$ phonegap run android

其中,可以关联create命令: (在bashrc中关联bin里面的create命令)

# PhoneGapalias pgap='/Library/PhoneGap/bin/create'

‘=’右边为具体的phoneGap路径。
创建工程的格式为:

pgap <project_folder_path> <package_name> <project_name>


【PhoneGap在IOS平台的应用】

官网链接为:  http://docs.phonegap.com/en/edge/guide_platforms_ios_index.md.html#iOS%20Platform%20Guide

    $ cordova create hello com.example.hello "HelloWorld"    $ cd hello    $ cordova platform add ios    $ cordova prepare              # or "cordova build"

[error1] cordova: command not found

[solution1]

需要安装:

sudo npm install -g cordova

cordova 和phonegap虽然是来自同一家,但还是不同的,他们的关系就像webkit和google chrome。。要运行这个cordova当然得安装。

[solution2]

执行命令及结果:

Scotts-iMac:helloworld mac$ phonegap create hello com.example.hello "HelloWorld"[phonegap] missing library phonegap/www/3.1.0[phonegap] downloading https://github.com/phonegap/phonegap-app-hello-world/archive/3.1.0.tar.gz...[phonegap] created project at /Users/mac/Documents/PhoneGap/helloworld/hello

[error2] 运行命令:phonegap run ios 失败

[solution2]

phonegap run ios[phonegap] detecting iOS SDK environment...[phonegap] using the local environment[phonegap] adding the iOS platform...[phonegap] missing library cordova/ios/3.1.0[phonegap] downloading https://git-wip-us.apache.org/repos/asf?p=cordova-ios.git;a=snapshot;h=3.1.0;sf=tgz...[phonegap] compiling iOS...[phonegap] successfully compiled iOS app[phonegap] trying to install app onto device[phonegap] no device was found[phonegap] trying to install app onto emulator [warning] missing ios-sim [warning] install ios-sim from http://github.com/phonegap/ios-sim   [error] An error occurred while emulating/deploying the ios project.=== CLEAN TARGET CordovaLib OF PROJECT CordovaLib WITH CONFIGURATION Debug ===

但这个命令会再对应路径下生成响应的IOS 工程文件,打开“HelloWorld.xcodeproj”, 可以正常编译,运行。

错误的原因是签名导致,没有正确的profile文件。


【PhoneGap系统架构】

网上找的架构图如下:



【IOS中使用方法】

    #import <Cordova/CDVViewController.h>    CDVViewController* viewController = [CDVViewController new];    viewController.wwwFolderName = @"myfolder";    viewController.startPage = @"mystartpage.html";    viewController.useSplashScreen = YES;    viewController.view.frame = CGRectMake(0, 0, 320, 480);    [myView addSubview:viewController.view];


【源码地址】

https://svn.apache.org/repos/asf/incubator/callback/phonegap-android/trunk/


同样,apache的开源项目的源代码都可以在

https://svn.apache.org/repos/asf