Cordova的配置文件Config.xml

2023-11-01

一、概述

在写这篇文章时,cordova的版本已是9.0.0 。config.xml 是Cordova项目的全局配置文件。 这份配置文件的基础是W3C’s Packaged Web Apps (Widgets) 规范,并进行了扩展。它份配置文件是用来指定核心Cordova API 特性、插件、特定平台的设置等。

Config.xml文件位于用Cordova命令创建的项目的根目录下。如果你用以下命令创建项目:

~$ sudo cordova create ~/Desktop/Cordova/sample

那么config.xml就在~/Desktop/Cordova/sample/config.xml下。

当使用Cordova命令行创建项目时,这个文件会被复制到platforms/下的子目录下,如:/home/kyun/Desktop/Cordova/sample/platforms/android/app/src/main/res/xml/config.xml

二、config.xml中的标签

我们只挑一些重要的与Android相斗的标签和属性来介绍
widget标签

<widget id="io.cordova.hellocordova" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">

如果在Android平台上运行的,不要忘了添加Android的命名空间:

xmlns:android="http://schemas.android.com/apk/res/android"
属性 描述
id(string) 必要的,在Android就是包名,一般是反向写的域名
version(string) 必要的,完整版本号,版本号一般这样组成会较有意义:以主/次/补丁符号表示,如1.1.3表示当前版本是主版本1,次版本为1的第三个3补丁包
xmlns(string) 必要的, config.xml文档的命名空间。
xmlns:cdv(string) 必要的,命名空间前缀
android-versionCode(string) Android的替代版本
android-packageName(string) android的替代包名,覆盖id。 一般不用。
android-activityName(string)
defaultlocale 指定应用程序的默认语言,作为IANA语言代码。

name标签

<widget ...>
   <name>Cordova</name>
</widget>

指定应用程序的正式名称,该名称显示在设备的主屏幕

content标签

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

定义app的顶层web assets目录的起始页,默认值是index.html,它通常出现在项目的顶级www目录中。

access标签

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

定义允许应用程序与之通信的外部域集。

allow-intent标签

<widget ...>
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
</widget>

定义允许应用程序请求系统打开的URL。

allow-navigation标签

<widget ...>
    <!--  允许链接到example.com  -->
    <allow-navigation href="http://example.com/*" />
    <!--  协议允许通配符作为主机的前缀或路径的后缀。  -->
    <allow-navigation href="*://*.example.com/*" />
</widget>

定义允许WebView导航到的外部域集。

platform标签

<widget ...>
    <platform name="android">
        <allow-intent href="market:*" />
        <preference name="Fullscreen" value="true" />
        <config-file parent="/*" target="AndroidManifest.xml">
            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
            <uses-permission android:name="android.permission.CAMERA" />
        </config-file>
    </platform>
</widget>

定义指定平台的首选项。

resource-file标签

<widget ...>
   <resource-file src="FooPluginStrings.xml" target="res/values/FooPluginStrings.xml" />
</widget>
属性 描述
src(string) 文件相对于config.xml的位置
target(string) 将文件复制到目录中的路径

将资源文件安装到平台中
hook标签

<widget ...>
   <hook type="after_plugin_install" src="scripts/afterPluginInstall.js" />
</widget>
属性 描述
type(string) 指定调用自定义脚本的操作。
src(string) 指定发生特定操作时要调用的脚本的位置

表示当发生某些操作(例如,在添加插件或调用平台准备逻辑之后)时Cordova将调用的自定义脚本。
preference标签

<widget ...>
<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" />
<!-- 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="DefaultVolumeStream" value="call" />
<preference name="OverrideUserAgent" value="Mozilla/5.0 My Browser" />
<preference name="AppendUserAgent" value="My Browser" />
</widget>

将各种选项设置为名称/值属性对。每个首选项的名称都不区分大小写。许多偏好是特定平台所独有的,并将以这样的方式表示。

属性 描述
Orientation(string) 允许值:default, landscape(横向值), portrait(纵向值)。允许您锁定方向并防止界面根据方向的更改而旋转,注意:默认值意味着cordova将从平台的manifest/configuration文件中删除orientation首选项条目,允许平台返回到其默认行为。
LoadUrlTimeoutValue(number in milliseconds) 默认值:20000,20秒。加载页时,引发超时错误之前等待的时间量。
KeepRunning(boolean) 默认值:true。确定应用程序是否在暂停事件激发后仍在后台运行。将此设置为false不会在暂停事件后终止应用程序,而只是在应用程序处于后台时停止在Cordova WebView中执行代码。
InAppBrowserStorageEnabled (boolean) 默认值:true。控制在InAppBrowser中打开的页是否可以访问与使用默认浏览器打开的页相同的本地存储和WebSQL存储
FullScreen(boolean) 默认值:false。允许您隐藏屏幕顶部的状态栏。注意:建议使用statusbar插件来实现这一点。
ErrorUrl(URL) 默认值:null。如果设置,将在应用程序出错时显示引用页,而不是显示标题为“应用程序错误”的对话框。
BackgroundColor(string) 设置应用程序的背景色。
AppendUserAgent(string) 如果设置,该值将追加到webview的旧useragent的末尾。与OverrideUserAgent一起使用时,将忽略此值。
android-targetSdkVersion(integer) 默认:依赖于Cordova Android版本。在项目的androidmanifest.xml中设置标记的targetsdkversion属性
AndroidLaunchMode(string) 默认值:singletop。允许值:standard、singletop、singletask、singleinstance。设置活动android:launchmode属性。这将更改从app icon或intent启动应用程序并已在运行时发生的情况。

plugin标签

<widget ...>
   <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" />

</widget>

指定准备期间要还原的插件的详细信息。使用–save标志添加插件时,此元素会自动添加到项目的config.xml中。

属性 描述
name(string) 要还原的插件的名称
spec(string) 有关要还原的插件的详细信息。这可能是major.minor.patch版本号、包含插件的目录或指向git存储库的url。此信息将用于从npm、本地目录或git存储库检索要还原的插件代码。

engine标签

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

指定准备期间要还原的平台的详细信息。

属性 描述
name(string) 要还原的平台的名称
spec(string) 有关要还原的平台的详细信息。这可能是major.minor.patch版本号、包含平台的目录或指向git存储库的url。此信息将用于从npm、本地目录或git存储库检索要还原的平台代码。

上面就是与Android平台比较密切相关的配置信息。

谢谢阅读。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cordova的配置文件Config.xml 的相关文章

随机推荐

  • 无webshell的UDF提权

    1 导入udf提权 因为已经是mysql的root了 所以肯定考虑用udf直接提权 现在本地虚拟机测试成功了再跑去测试目标机器 这样子安全点 首先在虚拟机搭建wamp环境 用手里的一个可以执行成功的udf提权的网马 将dll文件导入到win
  • FPGA Altera相关软件基本用法

    Quartus II 13 1 基本用法 1 配置 1 Assignments gt Device 配置FPGA主芯片 Unused pins 输入三态 Dual Purpose Pins 设置为IO口 2 PIN Planner对需要的p
  • 机器学习和人工智能方法在CADD中的应用

    综述 众所周知 由于疾病的生物学复杂性 药物研发是一个风险高 周期长的过程 为了快速高效地设计和开发新药 将计算机模拟技术引进研发的各个阶段 形成了目前药物研发领域不可或缺的手段 计算机辅助药物设计 CADD 近年来 使用大数据和人工智能算
  • android 多产品项目搭建与变体的使用

    由于公司产品的复杂性 连带着项目也跟着复杂起来 这时候也接触到了android的build 变体的使用 在这里记录一下这个过程 最初查看关于这一块的资料是在android的官网上看得 地址如下 配置 build 变体 Android 开发者
  • 什么是事件循环 Event Loop

    一 什么是事件循环 事件循环 Event Loop 是单线程的JavaScript在处理异步事件时进行的一种循环过程 具体来讲 对于异步事件它会先加入到事件队列中挂起 等主线程空闲时会去执行事件队列 Event Queue 中的事件 如此反
  • 【不忘初心】Windows11 22000.194 RTM X64 四合一[纯净精简版][2.59G](2021.10.11)

    此版可正常更新补丁 WIN11全新的UI界面出炉 可以说这一次Windows 11全新升级 无论是从Logo上还是UI界面设计 都有很大的变化 母版来自MSDN WIN11 22000 194 为了保证稳定初心的系统全部都是离线精简和优化
  • Matlab:绘制正弦曲线与余弦曲线

    Matlab 绘制正弦曲线与余弦曲线 目录 绘制正弦曲线与余弦曲线 结果显示 实现代码 绘制正弦曲线与余弦曲线 结果显示 实现代码 清空窗口 clear 清空工作区 clc 清空命令行窗口 绘制sin函数 一个区间 x 2 pi 0 1 2
  • Minio大文件上传、文件秒传、断点续传

    初步流程 选择上传文件 gt 提取md5 gt 请求后端校验此md5的文件是否已经上传过 gt 如果有上传就返回信息告诉前端上传完成 秒传 gt 如果没有则根据此md5获取已上传的分片有哪些 未上传的分片有多少个就返回多少个上传url 如何
  • Spring Boot代码结构

    14 组织你的代码 Spring Boot不需要使用任何特殊的代码结构 然而 这里有一些有用的最佳实践 14 1 使用 default 包 当类没有包含package声明时 它被认为处于default package下 通常不推荐使用def
  • 解决 Android 开发过程中 出现 Duplicate class(包冲突)

    1 现在大部分的项目都是支持 Androidx 的 所以出现 Duplicate 的时候 先把 gradle properties 文件中添加参数 支持使用AndroidX android useAndroidX true android
  • 右移和与上&0xff作用

    tmp gt gt 8 0xff 以下是阅读他人文章后 个人对计算 tmp gt gt 8 0xff 的理解 将tmp转为二进制数 6322040 gt 11000000111011101111000 向右移16位 清掉该16位 且左边用0
  • zabbix安装报错:The frontend does not match Zabbix database.

    The frontend does not match Zabbix database 出现此错误为导入数据到数据库zabbix时 对应的mysql版本号与当前不相符 相关代码为 zcat usr share doc zabbix serv
  • 华为OD机试 - 括号匹配(Java)

    题目描述 给定一个字符串 里边可能包含 三种括号 请编写程序检查该字符串中的括号是否成对出现 且嵌套关系正确 若括号成对出现且嵌套关系正确 或该字符串中无括号字符 输出 true 若未正确使用括号字符 输出 false 实现时 无需考虑非法
  • php 7 node.js 并发,PHP7+Swoole、Node Express、Sails、Beego、ThinkPHP 并发性能测试

    最近由于产品业务出现请求瓶颈 需要更换产品框架 针对现在集中主流方案进行了逐一测试 服务器硬件配置 2 核 2G虚拟机 10000请求 500并发测试结果如下 性能测试结果 1 Nodejs Express测试结果如下 大约每秒处理2100
  • Z变换零极点与收敛域的关系

    原文地址 Z变换零极点与收敛域的关系 作者 沙拉酱 Z变换零极点与收敛域的关系 序列的ZT存在零点和极点 这是因为序列的ZT同信号的LT一样都是复变函数 区别只是自变量名称不同 因此其零点和极点的定义与LT的零点与极点的定义相同 在z平面上
  • 厦大纪荣嵘团队新作|OneTeacher: 解锁 YOLOv5 的正确打开方式

    Paper https arxiv org pdf 2302 11299 pdf Code https github com luogen1996 OneTeacher 导读 大家从中也可以看到一个趋势 便是现在监督学习领域已经是非常饱和了
  • UC缓存的php格式视频,UC缓存视频变成本地mp4_下载视频怎么转换mp4_我的下载站

    7条解答 1 uc缓存视频怎么转mp4 您好 很高兴为您服务 安卓版的UC浏览器 缓存的为vdat 保存在UCDownloads videodata这个文件夹里边 可以直接重命名让后将格式更改为mp4或者avi即可 如果仍有问题 请您继续向
  • 一文了解工业互联网标识解析二级节点

    我国工业互联网标识解析体系由国际根节点 国家顶级节点 二级节点 企业节点 公共递归解析节点等要素组成 其中 二级节点是指一个行业或者区域内部的标识解析公共服务节点 能够面向行业或区域提供标识编码注册和标识解析服务 以及完成相关的标识业务管理
  • 学习一门编程语言正确姿势-以python为例

    作为一个自学者 最重要的能力就是自学的学习能力 但不用过分担心浩瀚的计算机世界 因为计算机的底层知识变化是很慢的 比如我们用到的网络知识 几十年都没变化过 就算是最热门的人工智能 现在大家学习的大部分技术也都是十几年 甚至几十年前的技术 变
  • Cordova的配置文件Config.xml

    一 概述 在写这篇文章时 cordova的版本已是9 0 0 config xml 是Cordova项目的全局配置文件 这份配置文件的基础是W3C s Packaged Web Apps Widgets 规范 并进行了扩展 它份配置文件是用