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),例如 Xcode 用于 iOS,Android Studio 用于 Android,这些 IDE 允许您构建和测试应用程序。如果您选择使用这些 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
字符串
必需
以主版本号/次版本号/修订号表示的完整版本号。
android-versionCode
字符串
Android 的替代版本。设置应用程序的 版本代码。有关如何修改此属性的信息,请参阅 Android 指南
ios-CFBundleVersion
字符串
iOS 的替代版本。有关更多详细信息,请参阅 Apple Developer - CFBundleVersion
android-packageName
字符串
此首选项使用特定于 Android 的替代包名称覆盖 id 属性。
ios-CFBundleIdentifier
字符串
此首选项使用特定于 iOS 的替代捆绑包 ID 覆盖 id 属性。
defaultlocale
字符串
使用 IANA 语言代码指定应用程序的默认语言。此首选项键明确设置 CFBundleDevelopmentRegion 的值。例如,您可以使用 enen_US 等值。
android-activityName
字符串
在 AndroidManifest.xml 中设置应用程序的活动名称。请注意,这仅在首次添加 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.xmlpreference 元素

属性 描述
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
语义化版本
默认值:取决于 cordova-android 版本
需要完整的版本字符串,例如 "32.0.0"。更改此设置可能还需要更改 PATH 环境变量以找到正确的构建工具。

此首选项主要用于 Cordova 开发,用于测试即将发布的 Android SDK 版本。更改此设置可能会导致构建失败,因为较新的构建工具经常会引入重大更改。
GradleVersion
字符串
默认值:取决于 cordova-android 版本
设置要使用的 Gradle 包装器版本。

此首选项主要用于 Cordova 开发,用于测试即将发布的 Android SDK 版本。更改此设置可能会导致构建失败,因为较新的构建工具经常会引入重大更改。
AndroidGradlePluginVersion
语义化版本
默认值:取决于 cordova-android 版本
设置要使用的 Android Gradle 插件版本。

此首选项主要用于 Cordova 开发,用于测试即将发布的 Android SDK 版本。更改此设置可能会导致构建失败,因为较新的构建工具经常会引入重大更改。
AndroidXAppCompatVersion
语义化版本
默认值:取决于 cordova-android 版本
覆盖 Android App Compat 库版本。
AndroidXWebKitVersion
语义化版本
默认值:取决于 cordova-android 版本
覆盖 Android WebKit 库版本。
AndroidGradlePluginGoogleServicesVersion
语义化版本
默认值:取决于 cordova-android 版本
覆盖 Google Services 库版本。
AndroidGradlePluginGoogleServicesEnabled
布尔值
默认值:false
启用 Google Services。需要 `google-services.json` 文件。
GradlePluginKotlinEnabled
布尔值
默认值:false
启用 Kotlin 插件以支持 Kotlin。
AppendUserAgent
字符串
如果设置,该值将附加到 Webview 的旧 UserAgent 的末尾。与 OverrideUserAgent 一起使用时,此值将被忽略。
BackgroundColor
字符串
设置应用程序的背景颜色。支持四字节十六进制值,第一个字节表示 alpha 通道,接下来的三个字节表示标准 RGB 值。
注意:`transparent` 值将把应用程序磁贴背景设置为 Windows 上的强调色。
CordovaWebViewEngine
字符串
默认值:CDVWebViewEngine
这将设置用于渲染主机应用程序的 WebView 引擎插件。该插件必须符合 CDVWebViewEngineProtocol 协议。这里的“值”应与已安装的 WebView 引擎插件的“功能”名称匹配。此首选项通常由已安装的 WebView 引擎插件自动设置。
DefaultVolumeStream
字符串
默认值:default
在 cordova-android 3.7.0 中添加,此首选项设置硬件音量按钮链接到的音量。默认情况下,对于手机是“call”,对于平板电脑是“media”。将其设置为“media”可以让应用程序的音量按钮始终更改媒体音量。请注意,使用 Cordova 的媒体插件时,当任何媒体对象处于活动状态时,音量按钮将动态更改为控制媒体音量。
DisallowOverscroll
布尔值
默认值:false
如果不想在用户滚动到内容开头或结尾时显示任何反馈,则将其设置为 **true**。在 iOS 上,过度滚动手势会导致内容弹回其原始位置。在 Android 上,它们会在内容的顶部或底部边缘产生更微妙的辉光效果。
EnableViewportScale
布尔值
默认值:false
设置为 true 以允许视口元标记禁用或限制用户缩放范围,默认情况下启用。在 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 插件。
GradlePluginGoogleServicesEnabled
语义化版本
默认值:4.2.0
设置要使用的 Google Services Gradle 插件的版本。
GradlePluginKotlinEnabled
布尔值
默认值:false
设置为 true 以允许构建 Kotlin 文件。
GradlePluginKotlinCodeStyle
字符串
默认值:official
允许的值:official、obsolete
设置 Kotlin 代码的格式化方式以提高可读性。
GradlePluginKotlinVersion
语义化版本
默认值:1.3.50
设置要使用的 Kotlin Gradle 插件的版本。
InAppBrowserStorageEnabled
布尔值
默认值:true
控制在 InAppBrowser 中打开的页面是否可以访问与使用默认浏览器打开的页面相同的 localStorage 和 WebSQL 存储。
InspectableWebview
布尔值
默认值:取决于调试/发布构建
在 iOS 16.4 或更高版本上,启用或禁用 Webview 检查器。在调试构建中默认为 `true`,在发布构建中默认为 `false`。此首选项在 iOS 16.3 和更早版本上被忽略;检查器始终在调试构建中启用,始终在发布构建中禁用。
KeepRunning
布尔值
默认值:true
确定应用程序在 暂停 事件触发后是否仍保持在后台运行。将其设置为 false 不会在 暂停 事件后杀死应用程序,而只是在应用程序处于后台时停止执行 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 的内容模式(用户代理)。有效值为:`mobile` 和 `desktop`。
InAppBrowserStatusBarStyle
字符串
默认值:default
设置 iOS 上 InAppBrowser 的状态栏的文本颜色样式。有效值为:`lightcontent` 和 `default`。
SetFullscreen
布尔值
默认值:false
与此 xml 文件全局配置中的 Fullscreen 参数相同。此 Android 特定元素已弃用,建议使用全局 Fullscreen 元素,并将在此版本的未来版本中删除。
ShowTitle
布尔值
默认值:false
显示屏幕顶部的标题。
Suppresses3DTouchGesture
布尔值
默认值:false
设置为 true 以避免支持 3D Touch 的 iOS 设备在用户长按 Webview 时渲染放大镜小部件。彻底测试您的应用程序,因为这会禁用 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 是 Mobile 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:`http` 或 `https`
- 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>

平台

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

属性 描述
name
字符串
必需
正在定义其首选项的平台。

示例

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

钩子

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

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

示例

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

资源文件

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

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

示例

对于 Android

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