Config.xml API

config.xml 文件是一个全局配置文件,用于管理 Cordova 应用程序行为的各个方面。它以 XML 格式编写,并遵循 W3C 的 打包 Web 应用程序 (Widgets) 规范中概述的结构。此外,它还进行了扩展,以包含核心 Cordova API 功能、插件和特定于平台的设置。

如果您正在使用 Cordova CLI 创建项目(如命令行界面中所述),您可以在项目的顶层目录中找到 config.xml 文件。

./hellocordova
└── config.xml

当使用 CLI 构建项目时,此文件的各个版本会被被动地复制到各个 platforms/ 子目录中。例如

./hellocordova
└── platforms
    ├── android
    │   └── app
    │       └── src
    │           └── main
    │               └── res
    │                   └── xml
    │                       └── config.xml
    └── ios
        └── HelloCordova
            └── config.xml

某些平台提供集成开发环境 (IDE),例如 iOS 的 Xcode 和 Android 的 Android Studio,这些环境允许您构建和测试应用程序。如果您选择使用这些 IDE 构建和测试项目,建议在更改 Cordova 应用程序的 config.xml 时始终运行 cordova prepare CLI 命令。这可以确保更新的配置复制到相应的 platforms/ 子目录中。

除了下面描述的配置选项之外,您还可以自定义每个目标平台上应用程序的核心图像集。有关更多信息,请参阅关于自定义图标的主题。

config.xml 示例

<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns="http://www.w3.org/ns/widgets"
    xmlns:cdv="https://cordova.net.cn/ns/1.0"
    id="io.cordova.hellocordova"
    version="1.0.0">
    <name>HelloCordova</name>
    <description>Sample Apache Cordova App</description>
    <author email="[email protected]" href="https://cordova.net.cn">
        Apache Cordova Team
    </author>

    <content src="index.html" />

    <!-- Security Related Settings -->
    <access origin="https://cordova.net.cn" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />

    <!-- Platform Configs & Platform Overriding Configs -->
    <platform name="android"></platform>
    <platform name="ios"></platform>
</widget>

widget

config.xml 文档的根元素。

属性 描述
id
字符串
必需
指定应用程序的标识符。 id 应采用反向 DNS 格式,但是,只允许使用字母数字和点字符。例如: com.example.myapp
version
字符串
必需
以 major/minor/patch 符号表示的完整版本号。
android-versionCode
字符串
Android 的备用版本。设置应用程序的版本代码。有关如何修改此属性的信息,请参阅Android 指南
ios-CFBundleVersion
字符串
iOS 的备用版本。有关更多详细信息,请参阅Apple Developer - CFBundleVersion
android-packageName
字符串
此首选项会覆盖 id 属性,并使用专门用于 Android 的备用包名称。
ios-CFBundleIdentifier
字符串
此首选项会覆盖 id 属性,并使用专门用于 iOS 的备用捆绑包 ID。
defaultlocale
字符串
使用 IANA 语言代码指定应用程序的默认语言。此首选项键显式设置 CFBundleDevelopmentRegion 的值。例如,您可以使用诸如 enen_US 之类的值。
android-activityName
字符串
在 AndroidManifest.xml 中设置应用程序的 activity 名称。请注意,这仅在首次添加 Android 平台后设置一次。
xmlns
字符串
必需
config.xml 文档的命名空间。
xmlns:cdv
字符串
必需
命名空间前缀。

示例

<!-- Android -->
<widget id="io.cordova.hellocordova" version="0.0.1" android-versionCode="13" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="https://cordova.net.cn/ns/1.0">
</widget>

<!-- iOS -->
<widget id="io.cordova.hellocordova" version="0.0.1" ios-CFBundleVersion="0.1.3" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="https://cordova.net.cn/ns/1.0">
</widget>

name

指定应用程序的正式名称,它会显示在设备的首页屏幕上和应用商店界面中。

示例

<widget ...>
   <name>HelloCordova</name>
</widget>

short name

指定应用程序的可选显示名称。有时,由于空间有限,应用程序名称在设备的主屏幕上应显示为与信息和应用商店界面不同的名称。

示例

<widget ...>
   <name short="HiCdv">HelloCordova</name>
</widget>

description

指定可能显示在应用商店列表中的元数据。

示例

<widget ...>
   <description>A sample Apache Cordova application</description>
</widget>

author

指定可能显示在应用商店列表中的联系信息。

属性 描述
email
字符串
必需
作者的电子邮件。
href
字符串
必需
作者的网站。

示例

<widget ...>
   <author email="[email protected]" href="https://cordova.io"></author>
</widget>

content

在顶层 Web 资源目录中定义应用程序的起始页。默认值为 index.html,它通常显示在项目的顶层 www 目录中。

属性 描述
src
字符串
必需
在顶层 Web 资源目录中定义应用程序的起始页。默认值为 index.html,它通常显示在项目的顶层 www 目录中。

示例

<widget ...>
   <content src="startPage.html"></content>
</widget>

access

定义允许应用程序与其通信的外部域。当访问源设置为“*”时,应用程序可以访问任何服务器,但这可能会产生安全风险。建议显式指定允许的 URL,以确保安全配置。有关详细说明,请参阅允许列表指南

属性 描述
origin
字符串
必需
定义允许应用程序与其通信的外部域 URL 或 URL 模式。

示例

<widget ...>
   <access origin="*"></access>
</widget>

<widget ...>
   <access origin="http://google.com"></access>
</widget>

allow-navigation

控制 WebView 可以导航到的 URL。仅适用于顶层导航。有关详细信息,请参阅允许列表指南

属性 描述
href
字符串
必需
定义允许 WebView 导航到的外部域或域模式。

示例

<!-- Allow links to example.com -->
<allow-navigation href="http://example.com/*" />

<!-- Wildcards are allowed for the protocol, as a prefix to the host, or as a suffix to the path -->
<allow-navigation href="*://*.example.com/*" />

allow-intent

控制允许应用程序请求系统打开的 URL。默认情况下,不允许任何外部 URL。有关详细信息,请参阅允许列表指南

属性 描述
href
字符串
必需
定义允许应用程序请求系统打开的 URL 或 URL 模式。

示例

<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />

edit-config

请参阅 plugin.xml 的 <config-file> 文档

config-file

请参阅 plugin.xml 的 <config-file> 文档

engine

指定有关在准备期间还原哪个平台的详细信息。

属性 描述
name
字符串
必需
要还原的平台的名称
spec
字符串
必需
有关要还原的平台的详细信息。这可以是 major.minor.patch 版本号、包含平台的目录或指向 Git 存储库的 URL。此信息将用于从 NPM、本地目录或 Git 存储库检索要还原的平台代码。有关更多详细信息,请参阅平台规范

示例

<engine name="android" spec="https://github.com/apache/cordova-android.git#5.1.1" />
<engine name="ios" spec="^4.0.0" />

plugin

指定有关在准备期间要还原哪个插件的详细信息。当使用 --save 标志添加插件时,此元素会自动添加到项目的 config.xml 中。有关添加插件的更多信息,请参阅CLI 参考

注意:从 Cordova 9.x 开始,此标记已过时。了解更多

属性 描述
name
字符串
必需
要还原的插件的名称
spec
字符串
必需
有关要还原的插件的详细信息。这可以是 major.minor.patch 版本号、包含插件的目录或指向 Git 存储库的 URL。此信息将用于从 NPM、本地目录或 Git 存储库检索要还原的插件代码。有关更多详细信息,请参阅插件规范

示例

<plugin name="cordova-plugin-device" spec="^1.1.0" />
<plugin name="cordova-plugin-device" spec="https://github.com/apache/cordova-plugin-device.git#1.0.0" />

variable

在准备期间还原插件时,持久化要使用的 CLI 变量的值。当使用 --save 标志添加使用 CLI 变量的插件时,此元素会添加到 config.xml 中。有关添加插件的更多信息,请参阅CLI 参考

请注意,此值仅在准备期间将插件还原到项目时使用,更改它不会更改当前项目中插件使用的值。为了使此值更改生效,请从项目中删除该插件,并通过运行 cordova prepare 将其还原。有关 CLI 变量的更多详细信息,请参阅 plugin.xml首选项元素

属性 描述
name
字符串
必需
CLI 变量的名称。只能包含大写字母、数字和下划线。
value
字符串
必需
在准备期间还原父插件时要使用的 CLI 变量的值。

示例

<plugin name="cordova-plugin-device" spec="^1.1.0">
    <variable name="MY_VARIABLE" value="my_variable_value" />
</plugin>

preference

以名称/值属性对的形式设置各种选项。每个首选项的名称不区分大小写。许多首选项是特定于平台的,并且会这样指明。

属性 描述
AllowInlineMediaPlayback
布尔值
默认值:false
设置为 true,以允许 HTML5 媒体播放以内联方式显示在屏幕布局中,使用浏览器提供的控件而不是原生控件。要使其生效,请将 playsinline 属性添加到任何 <video> 元素中。注意:在 iOS 10 之前,<video> 元素需要使用 webkit-playsinline 属性名称。
AllowNewWindows
布尔值
默认值:false
设置为 true,以允许 JavaScript window.open 和 HTML target="_blank" 链接打开一个覆盖 Web 视图的新视图。
AndroidLaunchMode
字符串
默认值:singleTop
允许值:standard、singleTop、singleTask、singleInstance
设置 Activity android:launchMode 属性。这会更改从应用图标或意图启动应用程序时,如果应用程序已在运行,会发生的情况。
AndroidInsecureFileModeEnabled
布尔值
默认值:false
如果设置为 true,则允许加载 file:/// URL。注意:启用此设置允许在 file:/// 上下文中加载的恶意脚本发起跨站点脚本攻击,访问任意本地文件,包括 WebView Cookie、应用程序私有数据,甚至是任意网站上使用的凭据。
android-maxSdkVersion
数字
默认值:未指定
设置项目 AndroidManifest.xml<uses-sdk> 标记的 maxSdkVersion 属性(请参阅此处)。
android-minSdkVersion
数字
默认值:取决于 cordova-android 版本
设置项目 AndroidManifest.xml<uses-sdk> 标记的 minSdkVersion 属性(请参阅此处)。
android-targetSdkVersion
数字
默认值:取决于 cordova-android 版本
设置项目 AndroidManifest.xml<uses-sdk> 标记的 targetSdkVersion 属性(请参阅此处)。
android-compileSdkVersion
数字
默认值:取决于 cordova-android 版本
设置 compileSdkVersion 属性。
android-buildToolsVersion
Semver
默认值:取决于 cordova-android 版本
需要完整的版本字符串,例如“32.0.0”。更改此项可能还需要更改 PATH 环境变量以找到正确的构建工具。

此首选项主要用于 cordova 开发,以测试即将推出的 Android SDK 版本。更改此项有很高的破坏构建的风险,因为较新的构建工具经常会引入重大更改。
GradleVersion
字符串
默认值:取决于 cordova-android 版本
设置要使用的 Gradle 包装器版本。

此首选项主要用于 cordova 开发,以测试即将推出的 Android SDK 版本。更改此项有很高的破坏构建的风险,因为较新的构建工具经常会引入重大更改。
AndroidGradlePluginVersion
Semver
默认值:取决于 cordova-android 版本
设置要使用的 Android Gradle 插件版本。

此首选项主要用于 cordova 开发,以测试即将推出的 Android SDK 版本。更改此项有很高的破坏构建的风险,因为较新的构建工具经常会引入重大更改。
AndroidXAppCompatVersion
Semver
默认值:取决于 cordova-android 版本
覆盖 Android App Compat 库的版本。
AndroidXWebKitVersion
Semver
默认值:取决于 cordova-android 版本
覆盖 Android WebKit 库的版本。
GradlePluginKotlinEnabled
布尔值
默认值:false
启用 Kotlin 插件以支持 Kotlin。
AppendUserAgent
字符串
如果设置,该值将附加到 webview 旧 UserAgent 的末尾。当与 OverrideUserAgent 一起使用时,此值将被忽略。
BackgroundColor
字符串
设置应用程序的背景颜色。支持四字节十六进制值,第一个字节表示 Alpha 通道,后三个字节表示标准 RGB 值。
注意transparent 值会将 Windows 上的应用程序磁贴背景设置为强调色。
CordovaWebViewEngine
字符串
默认值:CDVWebViewEngine
这设置用于渲染主机应用程序的 WebView 引擎插件。该插件必须符合 CDVWebViewEngineProtocol 协议。“value” 应该与已安装的 WebView 引擎插件的“feature”名称匹配。此首选项通常由已安装的 WebView 引擎插件自动设置。
DefaultVolumeStream
字符串
默认值:default
在 cordova-android 3.7.0 中添加,此首选项设置硬件音量按钮链接到的音量。默认情况下,手机为“call”,平板电脑为“media”。将其设置为“media”可使您的应用程序的音量按钮始终更改媒体音量。请注意,当使用 Cordova 的媒体插件时,当任何 Media 对象处于活动状态时,音量按钮将动态更改为控制媒体音量。
DisallowOverscroll
布尔值
默认值:false
如果您不希望在用户滚动到内容开头或结尾时界面显示任何反馈,请设置为 true。在 iOS 上,过度滚动的手势会导致内容弹回其原始位置。在 Android 上,它们会在内容的顶部或底部边缘产生更微妙的发光效果。
EnableViewportScale
布尔值
默认值:false
设置为 true 以允许视口 meta 标签禁用或限制用户缩放范围,默认情况下启用。在 HTML 中放置如下视口以禁用缩放并将内容灵活地适应渲染的 WebView 中
<meta name='viewport' content='width=device-width, initial-scale=1, user-scalable=no' />
ErrorUrl
Url
默认值:null
设置此首选项后,应用程序在遇到错误时将显示指定的本地页面。此外,如果设置此首选项,Android 系统将抑制标题为“应用程序错误”的默认对话框。
FullScreen
布尔值
默认值:false
允许您隐藏屏幕顶部的状态栏。
注意:实现此目的的推荐平台无关方法是使用 StatusBar 插件
GapBetweenPages
浮点数
默认值:0
页面之间间隙的大小,以点为单位。
GradlePluginGoogleServicesEnabled
布尔值
默认值:false
设置为 true 以启用 Google Services Gradle 插件。
GradlePluginGoogleServicesVersion
Semver
默认值:取决于 cordova-android 版本
覆盖 Google Services 库的版本。
GradlePluginKotlinEnabled
布尔值
默认值:false
设置为 true 以允许构建 Kotlin 文件。
GradlePluginKotlinCodeStyle
字符串
默认值:official
允许的值:official、obsolete
设置 Kotlin 代码的可读性格式。
GradlePluginKotlinVersion
Semver
默认值:1.3.50
设置要使用的 Kotlin Gradle 插件的版本。
InAppBrowserStorageEnabled
布尔值
默认值:true
控制在 InAppBrowser 中打开的页面是否可以访问与使用默认浏览器打开的页面相同的 localStorage 和 WebSQL 存储。
InspectableWebview
布尔值
默认值:取决于 Debug/Release 构建
在 iOS 16.4 或更高版本上,启用或禁用 webview 检查器。在调试构建中默认为 true,在发布构建中默认为 false。此首选项在 iOS 16.3 和更早版本上被忽略;检查器在调试构建中始终启用,在发布构建中始终禁用。
KeepRunning
布尔值
默认值:true
确定应用程序是否即使在触发 pause 事件后仍保持在后台运行。将此值设置为 false 不会在触发 pause 事件后杀死应用程序,而只是在应用程序在后台时停止 cordova webview 内代码的执行。
KeyboardDisplayRequiresUserAction
布尔值
默认值:true
设置为 false 以允许在对表单输入调用 focus() 时显示键盘。
LoadUrlTimeoutValue
数字
默认值:20000,20 秒
加载页面时,在抛出超时错误之前等待的时间(以毫秒为单位)。
LoadingDialog
字符串
默认值:null
如果设置,在加载应用程序的第一页时,将显示一个带有指定标题和消息以及旋转器的对话框。标题和消息在此值字符串中以逗号分隔,并且在显示对话框之前会删除该逗号。
LogLevel
字符串
默认值:DEBUG
允许的值:ERROR、WARN、INFO、DEBUG、VERBOSE
设置将过滤来自您的应用程序的日志消息的最低日志级别。
MediaPlaybackAllowsAirPlay
布尔值
默认值:true
设置为 false 以防止在此视图中使用 Air Play。在默认的 UIWebView 和 WKWebView 中可用。
MediaPlaybackRequiresUserAction
布尔值
默认值:false
设置为 true 以防止 HTML5 视频或音频使用 autoplay 属性或通过 JavaScript 自动播放。
Orientation
字符串
默认值:default
允许的值:default、landscape、portrait
允许您锁定方向并防止界面响应方向变化而旋转。
注意: 默认值表示 Cordova 将从平台的清单/配置文件中删除方向首选项条目,允许平台回退到其默认行为。对于 iOS,要指定纵向和横向模式,您将使用平台特定的值 'all'。
OverrideUserAgent
字符串
如果设置,该值将替换 webview 的旧 UserAgent。当请求远程页面时,它有助于识别来自应用程序/浏览器的请求。请谨慎使用,这可能会导致与 Web 服务器的兼容性问题。对于大多数情况,请改用 AppendUserAgent。
PageLength
浮点数
默认值:0
每个页面的大小,以点为单位,在页面流动的方向上。当 PaginationMode 为从右到左或从左到右时,此属性表示每个页面的宽度。当 PaginationMode 为从上到下或从下到上时,此属性表示每个页面的高度。默认值为 0,这意味着布局使用视口的大小来确定页面的尺寸。
PaginationBreakingMode
字符串
默认值:page
允许的值:page、column
有效值是 page 和 column。发生列或分页的方式。此属性确定是否遵守或忽略有关列和分页的某些 CSS 属性。当此属性设置为 column 时,内容将遵守与列断开相关的 CSS 属性,而不是分页。
PaginationMode
字符串
默认值:unpaginated
允许的值:unpaginated、leftToRight、topToBottom、bottomToTop、rightToLeft
此属性确定 web 视图中的内容是分成一次填充一个屏幕的页面,还是显示为一个长滚动视图。如果设置为分页形式,此属性将在内容上切换分页布局,使 web 视图使用 PageLength 和 GapBetweenPages 的值来重新布局其内容。
PreferredContentMode
字符串
默认值:auto
为 iPad 上的 WebView 和 InAppBrowsers WebView 设置内容模式(用户代理)。有效值为:mobiledesktop
InAppBrowserStatusBarStyle
字符串
默认值:default
为 iOS 的 InAppBrowser 设置状态栏的文本颜色样式。有效值为:lightcontentdefault
SetFullscreen
布尔值
默认值:false
与此 xml 文件的全局配置中的 Fullscreen 参数相同。此特定于 Android 的元素已被弃用,以支持全局 Fullscreen 元素,并且将在未来的版本中删除。
ShowTitle
布尔值
默认值:false
在屏幕顶部显示标题。
Suppresses3DTouchGesture
布尔值
默认值:false
设置为 true 以避免在用户长按 webview 时,支持 3D Touch 的 iOS 设备渲染放大镜小部件。彻底测试您的应用程序,因为这会禁用 onclick 处理程序,但与 ontouchend 兼容。如果此设置是 true,SuppressesLongPressGesture 也将有效地为 true。
SuppressesIncrementalRendering
布尔值
默认值:false
设置为 true 以等待收到所有内容后再将其渲染到屏幕上。
SuppressesLongPressGesture
布尔值
默认值:false
设置为 true 以避免 iOS9+ 在用户长按 webview 时渲染放大镜小部件。彻底测试您的应用程序,因为这可能会干扰文本选择功能。
SwiftVersion
字符串
默认值:(空)
设置为指定 Swift 版本。
TopActivityIndicator
字符串
默认值:gray
允许的值:whiteLarge、white、gray。

控制状态栏中显示的小旋转图标的外观,该图标指示重要的处理器活动。
UIWebViewDecelerationSpeed
字符串
默认值:normal
允许的值:normal、fast
此属性控制动量滚动的减速速度。normal 是大多数原生应用程序的默认速度,fast 是移动 Safari 的默认速度。
deployment-target
字符串
这在构建中设置 IPHONEOS_DEPLOYMENT_TARGET,最终转换为 ipa 中的 MinimumOSVersion。有关更多详细信息,请参阅 Apple 关于部署目标设置的文档
target-device
字符串
默认值:universal
允许的值:handset、tablet、universal
此属性直接映射到 xcode 项目中的 TARGETED_DEVICE_FAMILY。请注意,如果您以通用为目标(这是默认设置),则需要为 iPhone 和 iPad 提供屏幕截图,否则您的应用程序可能会被拒绝。
scheme
字符串
默认
- Android:https
- iOS:未定义,但如果值无效,则回退到 app

允许的值
- Android:httphttps
- iOS:任何非保留的方案。(示例保留方案

此属性包含应用程序内容所提供的方案。
hostname
字符串
默认值: localhost

此属性包含提供应用程序内容的主机名。

如果未为 iOS 定义首选项 scheme,则将忽略 hostname 值。

示例

<preference name="DisallowOverscroll" value="true"/>
<preference name="Fullscreen" value="true" />
<preference name="BackgroundColor" value="0xff0000ff"/>
<preference name="HideKeyboardFormAccessoryBar" value="true"/>
<preference name="Orientation" value="landscape" />

<!-- iOS only preferences -->
<preference name="EnableViewportScale" value="true"/>
<preference name="MediaPlaybackAllowsAirPlay" value="false"/>
<preference name="MediaPlaybackRequiresUserAction" value="true"/>
<preference name="AllowInlineMediaPlayback" value="true"/>
<preference name="TopActivityIndicator" value="white"/>
<preference name="SuppressesIncrementalRendering" value="true"/>
<preference name="GapBetweenPages" value="0"/>
<preference name="PageLength" value="0"/>
<preference name="PaginationBreakingMode" value="page"/>
<preference name="PaginationMode" value="unpaginated"/>
<preference name="UIWebViewDecelerationSpeed" value="fast" />
<preference name="ErrorUrl" value="myErrorPage.html"/>
<preference name="OverrideUserAgent" value="Mozilla/5.0 My Browser" />
<preference name="AppendUserAgent" value="My Browser" />
<preference name="target-device" value="universal" />
<preference name="deployment-target" value="7.0" />
<preference name="CordovaWebViewEngine" value="CDVWebViewEngine" />
<preference name="CordovaDefaultWebViewEngine" value="CDVWebViewEngine" />
<preference name="SuppressesLongPressGesture" value="true" />
<preference name="Suppresses3DTouchGesture" value="true" />

<!-- Android only preferences -->
<preference name="KeepRunning" value="false"/>
<preference name="LoadUrlTimeoutValue" value="10000"/>
<preference name="InAppBrowserStorageEnabled" value="true"/>
<preference name="LoadingDialog" value="My Title,My Message"/>
<preference name="ErrorUrl" value="myErrorPage.html"/>
<preference name="ShowTitle" value="true"/>
<preference name="LogLevel" value="VERBOSE"/>
<preference name="AndroidLaunchMode" value="singleTop"/>
<preference name="AndroidInsecureFileModeEnabled" value="true" />
<preference name="DefaultVolumeStream" value="call" />
<preference name="OverrideUserAgent" value="Mozilla/5.0 My Browser" />
<preference name="AppendUserAgent" value="My Browser" />
<preference name="GradlePluginGoogleServicesEnabled" value="true" />
<preference name="GradlePluginGoogleServicesVersion" value="4.2.0" />
<preference name="GradlePluginKotlinEnabled" value="true" />
<preference name="GradlePluginKotlinCodeStyle" value="official" />
<preference name="GradlePluginKotlinVersion" value="1.3.50" />

feature

如果您使用 CLI 构建应用程序,则可以使用 plugin 命令来启用设备 API。这不会修改顶层的 config.xml 文件,因此元素不适用于您的工作流程。如果您直接在 SDK 中工作并使用特定于平台的 config.xml 文件作为源,则可以使用标记来启用设备级 API 和外部插件。它们通常在特定于平台的 config.xml 文件中以自定义值出现。有关如何指定每个功能的详细信息,请参阅 API 参考。有关插件的更多信息,请参阅[插件开发指南](../guide/hybrid/plugins/index.html)。注意:在大多数情况下,您不希望直接设置此值。

属性 描述
name
字符串
必需
要启用的插件的名称。

param

用于指定某些插件参数,例如:从哪个包检索插件代码,以及是否在 Webview 的初始化期间初始化插件代码。

属性 描述
name
字符串
必需
允许的值:android-package、ios-package、onload。
'ios-package' 和 'android-package' 用于指定用于初始化插件代码的包的名称(由“value”属性指定),而 'onload' 用于指定是否在初始化控制器时实例化相应的插件(如“value”属性中指定)。
value
字符串/布尔值
必需
指定用于初始化插件代码的包的名称(当 'name' 属性为 android-package 或 ios-package 时),指定在控制器初始化期间加载的插件的名称(当 'name' 属性设置为 'onload' 时)。

示例

<!-- Here is how to specify the Device API for Android projects -->
<feature name="Device">
   <param name="android-package" value="org.apache.cordova.device.Device" />
</feature>

<!-- Here's how the element appears for iOS projects -->
<feature name="Device">
   <param name="ios-package" value="CDVDevice" />
   <param name="onload" value="true" />
</feature>

platform

当使用 CLI 构建应用程序时,有时需要指定特定于特定平台的首选项或其他元素。使用元素用于指定仅应出现在单个特定于平台的 config.xml 文件中的配置。

属性 描述
name
字符串
必需
正在定义其偏好设置的平台。

示例

<platform name="android">
   <preference name="Fullscreen" value="true" />
</platform>

hook(钩子)

表示您的自定义脚本,当特定操作发生时(例如,在添加插件或调用平台准备逻辑之后),Cordova 将调用该脚本。当您需要扩展默认的 Cordova 功能时,这非常有用。有关更多信息,请参阅钩子指南

属性 描述
type(类型)
字符串
必需
指定调用自定义脚本的操作期间。
src
字符串
必需
指定在特定操作发生时要调用的脚本的位置。

示例

<hook type="after_plugin_install" src="scripts/afterPluginInstall.js" />

resource-file(资源文件)

此标签将资源文件安装到您的平台,类似于 plugin.xml 中的相同标签。此标签目前仅在 [email protected] 或更高版本以及 [email protected] 或更高版本上受支持。

属性 描述
src
字符串
必需
文件相对于 config.xml 的位置。
target(目标)
字符串
该文件将被复制到您的目录中的路径。

示例

对于 Android

<resource-file src="FooPluginStrings.xml" target="res/values/FooPluginStrings.xml" />