Cordova 3.x 基础(5) -- 配置文件config.xml

首先要注意的是:[b]从3.3版本以后已经把www/config.xml移动到了根目录下。[/b]

在config.xml中定义的东西应该适应所有平台。在build工程的是时候,会看到“Generating config.xml from defaults for platform "android"”这样的字样,他会生成各个平台的config.xml。

生成的文件:
[list][*]Android:MyProject/platforms/android/res/xml/config.xml.
[*]iOS:MyProject/platforms/ios/MyProject/config.xml.[/list]

生成的config.xml当然会根据平台不同加入不同的内容。
比如Android下就就在config.xml添加了以下内容:
<preference name="loglevel" value="DEBUG" />
<feature name="App">
<param name="android-package" value="org.apache.cordova.App" />
</feature>


config.xml文件的Scheme基于[url=http://www.w3.org/TR/widgets/]W3C的Widgets[/url]定义。
[b]基本构造:[/b]
<widget>
<name></name>
<preference />
<feature>
<param />
</feature>
<access />
<content />
</widget>


[b]preference:[/b]
选项设置。应用运行时的一些参数,根据平台设置的内容不同。
Android设置:[url=http://cordova.apache.org/docs/en/3.4.0/guide_platforms_android_config.md.html]http://cordova.apache.org/docs/en/3.4.0/guide_platforms_android_config.md.html[/url]
iOS设置:[url=http://cordova.apache.org/docs/en/3.4.0/guide_platforms_ios_config.md.html]http://cordova.apache.org/docs/en/3.4.0/guide_platforms_ios_config.md.html[/url]

[b]access:[/b]
域限制设置。应用中如果读取其他域中的HTML文件,而该文件中如果使用了cordova.js,那么他就能访问手机的本地功能。遵守[url=http://www.w3.org/TR/widgets-access/]W3C Widget Access[/url]规范。
可以设置多个:
<access origin="http://example.com" />
<access origin="http://foobar.example.com" />
也可以使用通配符:
<access origin="http://*.example.com" />
默认可以访问任何域。
<access origin="*" />

[b]feature:[/b]
应用中使用了哪些Native功能,Cordova在运行时会扫描feature属性就知道哪些Plugin是有效的。在执行cordova plugin add的时候会自动添加feature。
比如:
[quote]cordova plugin add org.apache.cordova.camera
cordova build[/quote]
platforms/android/res/xml/config.xml中就会多了以下内容:
<feature name="Camera">
<param name="android-package" value="org.apache.cordova.camera.CameraLauncher" />
</feature>


[b]content:[/b]
应用的入口文件。默认是index.html。

[b]其他:[/b]
widget的id属性,Android的话就是应用的package名,iOS是AppID。
widget的version属性就是应用的版本号(android:versionName)(3.5版本中可以android-versionCode="10")。
name标签就是应用的名字(把文件保存为UTF-8支持中文)。
[img]http://dl2.iteye.com/upload/attachment/0093/9980/1af97ad0-c4b6-36be-aa4b-7324f4f23730.png[/img]

[color=red]***在"cordova create"的时候,App名不能全部是分英文字母,比如,"我的应用"。必须包含英文字母,因为CordovaCLI要用来生成MainActivity的Class名.

***这个问题最新版已经Fixed。[url=https://issues.apache.org/jira/browse/CB-6511]CB-6511[/url] Fixes build for Android when app name contains unicode characters.
[/color]

[b]设置版本[/b]
iOS
Version (CFBundleShortVersionString)
Build (CFBundleVersion)
Android
android:versionName
android:versionCode

[b]应用名的国际化[/b]
iOS
CFBundleDisplayName = "Sample App Name";
Android
strings.xml app_name = "Sample App Name";
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值