为什么build.phonegap.com和控制台版本之间存在差异

时间:2014-01-18 21:14:01

标签: android cordova cloud

是的,所以我知道PhoneGap起源于Apache Cordova项目。 当人们查看PhoneGap文档时,这一点就变得很明显了。

当我通过控制台phonegap build android构建PhoneGap应用程序时,我得到一个带有一种图标类型的Apk,没有启动启动和总体更好的性能。

如果我通过http://build.phonegap.com,我会得到一个非常不同的应用。启动画面,错误的权限和不同的图标集。

任何人都能解释为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

好的,我自己想知道为什么对于phonegap本地项目,平台文件夹中没有报告www / res文件夹中的更改。所以这是我的结论......

Cordova项目始终是本地项目。当你创建一个cordova项目(cordova创建...)时,项目中没有添加任何图标和泼溅。

当您将该平台添加到项目时,会添加特定平台的图标:cordova平台添加android将为平台/ android / res中的每个dpi添加cordova图标,而不添加任何启动。然后由开发人员在平台文件夹中放置图标和启动并自定义特定的平台配置文件。

这是有道理的因为图标和启动的文件分辨率对于android,windows phone或ios来说是完全不同的,并且只为android做项目的人不希望以只有ios构建所必需的分辨率提供图像。

大多数phonegap命令只是cordova命令的副本,其中一些是自定义的,以满足对phonegap构建的特定需求。

所以phonegap create创建一个项目,其config.xml遵循与cordova.xml中的config.xml不同的模式

<强>科尔多瓦:

<widget id="com.test.test" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">

<强>的PhoneGap:

<widget id="com.test.test" version="1.4.7" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0">

这允许配置带有<gap: />节点的闪屏,图标和插件。

phonegap create创建的config.xml文件包含启动画面的配置和存储在www / res中的图标。 phonegap create还会创建带有phonegap徽标的www / res文件夹(与cordova徽标不同)作为默认的splash和icon。

令人费解的是,每个phonegap platform add都是相应cordova platform add命令的未经修改的副本,因此不考虑手机的特殊性。

phonegap create命令将下载平台图标,而不是使用www / res中已有的图标,phonegap build命令不会将www / res中的更改报告给平台位图。

如果将phonegap createphonegap build命令修改为使用与phonegap构建项目相同的结构,我认为会更好(或至少不会引起混淆),但可能会因此过多维护每个新版本的phonegap团队。