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.dev.org.tw/ns/1.0"
    id="io.cordova.hellocordova"
    version="1.0.0">
    <name>HelloCordova</name>
    <description>Sample Apache Cordova App</description>
    <author email="dev@cordova.apache.org" href="https://cordova.dev.org.tw">
        Apache Cordova Team
    </author>

    <content src="index.html" />

    <!-- Security Related Settings -->
    <access origin="https://cordova.dev.org.tw" />
    <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
字串
此偏好設定會覆寫 id 屬性,並使用專門用於 Android 的替代套件名稱。
ios-CFBundleIdentifier
字串
此偏好設定會覆寫 id 屬性,並使用專門用於 iOS 的替代套件 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.dev.org.tw/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.dev.org.tw/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="dev@cordova.apache.org" href="https://cordova.io"></author>
</widget>

content

定義應用程式在頂層 Web 資產目錄中的起始頁面。預設值為 index.html,通常會出現在專案的頂層 www 目錄中。

屬性 描述
src
字串
必要
定義應用程式在頂層 Web 資產目錄中的起始頁面。預設值為 index.html,通常會出現在專案的頂層 www 目錄中。

範例

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

access

定義應用程式允許與之通訊的外部網域。當 access origin 設定為「*」時,應用程式可以存取任何伺服器,但這可能會造成安全風險。建議明確指定允許的 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

指定在 prepare 期間要還原的平台相關詳細資訊。

屬性 描述
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

指定在 prepare 期間要還原的外掛相關詳細資訊。當使用 --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 變數的值,以便在 prepare 期間還原外掛時使用。當使用 --save 旗標新增使用 CLI 變數的外掛時,此元素會新增至 config.xml。如需新增外掛的更多資訊,請參閱CLI 參考資料

請注意,此值僅在 prepare 期間將外掛還原至專案時使用,變更它「不會」變更外掛在目前專案中使用的值。為了讓此值的變更生效,請從專案中移除外掛並執行 cordova prepare 來還原它。如需 CLI 變數的更多詳細資料,請參閱 plugin.xml偏好設定元素

屬性 描述
name
字串
必要
CLI 變數的名稱。只能包含大寫字母、數字和底線。
value
字串
必要
在 prepare 期間還原父外掛時要使用的 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
設定活動 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 Wrapper 版本。

此偏好設定主要用於 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
字串
預設值:預設
在 cordova-android 3.7.0 中新增,此偏好設定會設定硬體音量按鈕連結到的音量。預設情況下,手機為「通話」,平板電腦為「媒體」。將此設定為「媒體」,讓您的應用程式的音量按鈕始終變更媒體音量。請注意,當使用 Cordova 的媒體外掛程式時,當任何媒體物件處於活動狀態時,音量按鈕會動態變更為控制媒體音量。
DisallowOverscroll
布林值
預設值:false
如果您不希望在使用者滾動超出內容的開頭或結尾時介面顯示任何回饋,請設定為 true。在 iOS 上,過度捲動手勢會導致內容彈回其原始位置。在 Android 上,它們會在內容的頂部或底部邊緣產生更細微的發光效果。
EnableViewportScale
布林值
預設值:false
設定為 true 以允許 viewport meta 標籤停用或限制使用者縮放的範圍,預設情況下會啟用縮放。在 HTML 中放置如下的 viewport,以停用縮放並使內容在渲染 WebView 中靈活地適配
<meta name='viewport' content='width=device-width, initial-scale=1, user-scalable=no' />
ErrorUrl
網址
預設值: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
布林值
預設值:取決於除錯/發佈版本
在 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 以防止在此檢視中使用 AirPlay。在預設 UIWebView 和 WKWebView 中可用。
MediaPlaybackRequiresUserAction
布林值
預設值:false
設定為 true 以防止 HTML5 影片或音訊透過 autoplay 屬性或透過 JavaScript 自動播放。
Orientation
字串
預設值:預設
允許的值:預設、橫向、直向
允許您鎖定方向,並防止介面因方向變更而旋轉。
注意:預設值表示 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
此屬性決定網頁檢視中的內容是分為一次填滿一個螢幕的頁面,還是顯示為一個長滾動檢視。如果設定為分頁形式,則此屬性會在內容上切換分頁配置,導致網頁檢視使用 PageLength 和 GapBetweenPages 的值來重新配置其內容。
PreferredContentMode
字串
預設值:auto
設定 iPad 上的 WebView 和 InAppBrowser WebView 的內容模式(使用者代理)。有效值為:mobiledesktop
InAppBrowserStatusBarStyle
字串
預設值:預設
設定 iOS 的 InAppBrowser 的狀態列文字顏色樣式。有效值為:lightcontentdefault
SetFullscreen
布林值
預設值:false
與此 xml 檔案全域組態中的 Fullscreen 參數相同。此特定於 Android 的元素已棄用,改用全域 Fullscreen 元素,並將在未來版本中移除。
ShowTitle
布林值
預設值:false
在螢幕頂部顯示標題。
Suppresses3DTouchGesture
布林值
預設值:false
設定為 true 以避免啟用 3D Touch 的 iOS 裝置在使用者在長按網頁檢視時施加壓力時渲染放大鏡 widget。請徹底測試您的應用程式,因為這會停用 onclick 處理常式,但與 ontouchend 配合良好。如果此設定為 true,則 SuppressesLongPressGesture 也會有效地為 true。
SuppressesIncrementalRendering
布林值
預設值:false
設定為 true 以等待接收到所有內容後再將其渲染到螢幕上。
SuppressesLongPressGesture
布林值
預設值:false
設定為 true 以避免 iOS9+ 在使用者長按網頁檢視時渲染放大鏡 widget。請徹底測試您的應用程式,因為這可能會干擾文字選取功能。
SwiftVersion
字串
預設值:(空白)
設定以指定 Swift 版本。
TopActivityIndicator
字串
預設值:灰色
允許的值: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。請注意,如果您以 universal 為目標(這是預設值),您需要提供 iPhone 和 iPad 的螢幕截圖,否則您的應用程式可能會被拒絕。
scheme
字串
預設值
- Android:https
- iOS:未定義,但如果值無效,則會回復為 app

允許的值
- Android:httphttps
- iOS:任何非保留的 scheme。(保留的 scheme 範例

此屬性包含您的應用程式內容所使用的 scheme。
hostname
字串
預設值: localhost

此屬性包含應用程式內容所使用的 hostname。

如果未為 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 功能時,這很有用。有關更多資訊,請參閱 Hooks 指南

屬性 描述
type
字串
必要
指定要呼叫自訂腳本的動作。
src
字串
必要
指定當特定動作發生時,要呼叫的腳本位置。

範例

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

resource-file

這個標籤會將資源檔案安裝到您的平台中,與 plugin.xml 中的相同標籤類似。此標籤目前僅在 cordova-ios@4.4.0 或更高版本以及 cordova-android@6.2.1 或更高版本上支援。

屬性 描述
src
字串
必要
檔案相對於 config.xml 的位置。
target
字串
檔案將被複製到您目錄中的路徑。

範例

針對 Android

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