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 的值。例如,您可以使用诸如 en 或 en_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 设置内容模式(用户代理)。有效值为: mobile 和 desktop 。 |
InAppBrowserStatusBarStyle 字符串 |
默认值:default 为 iOS 的 InAppBrowser 设置状态栏的文本颜色样式。有效值为: lightcontent 和 default 。 |
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: 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 文件,因此
属性 | 描述 |
---|---|
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 构建应用程序时,有时需要指定特定于特定平台的首选项或其他元素。使用
属性 | 描述 |
---|---|
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" />