Cordova - 插件和 config.xml 文件

Posted

技术标签:

【中文标题】Cordova - 插件和 config.xml 文件【英文标题】:Cordova - Plugin and config.xml file 【发布时间】:2015-01-21 16:44:01 【问题描述】:

我尝试在我的项目的 res/xml/config.xml 文件中添加闪屏插件。

这就是我想要的:

<?xml version='1.0' encoding='utf-8'?>
<widget id="fr.myname.firstapp" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" xmlns:gap="http://phonegap.com/ns/1.0">
<name>FirstApp</name>
<description>
    this is my first app
</description>
<author email="email@example.com" href="http://example.com">
    My name
</author>
<content src="index.html" />
<access origin="*" subdomains="true" />
<preference name="loglevel" value="DEBUG" />
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="4000" />
<feature name="Notification">
    <param name="android-package" value="org.apache.cordova.dialogs.Notification" />
</feature>
...
</widget>

使用“cordova build android”命令构建应用程序后,我添加的两行已经消失:

<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="4000" />

是什么原因造成的?我不明白为什么它会覆盖我的更改,而我只是遵循官方文档。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

config.xml 插件条目仅用于在线 Phonegap Build 系统。

如果您在本地构建,请从 config.xml 中删除功能标签,然后使用 CLI 安装插件:

cordova plugin add org.apache.cordova.dialogs.Notification
cordova build android

另外,对于您在config.xml 中确实需要的两行,不要在res/xml/config.xml 中更改项目根目录config.xml,因为每次运行build 命令时,平台特定的config.xml 是被项目级文件覆盖。

【讨论】:

【参考方案2】:

我也注意到了这种行为并且很困惑。对我来说,这发生在运行ionic cordova run ios 命令时。

显然,当我尝试修改config.xml 文件同时此命令正在运行 时会发生这种情况。看起来 Cordova 在构建期间对该文件应用了一些本地修改,然后在您结束该命令后回滚文件的版本。我注意到无论我做出什么更改,只要我在命令行中按Ctrl + C 以结束cordova 进程,它们就会被还原。

所以在我的情况下,解决方案是停止当前运行的cordova进程,编辑config.xml,保存并再次运行cordova。希望这对搜索此问题的人有所帮助。

【讨论】:

以上是关于Cordova - 插件和 config.xml 文件的主要内容,如果未能解决你的问题,请参考以下文章

cordova 安装插件,插件数据没有同步添加到 config.xml 中,为啥

Cordova/Phonegap / iOS:错误:找不到插件“Plugin01”,或者不是 CDVP 插件。检查 config.xml 中的插件映射

如何在 Mac / iOS 上制作 cordova 以停止在 config.xml 和 package.json 的插件版本号中添加插入符号 (^)

无法添加cordova-plugin-telerik-imagepicker。此插件中的 <edit-config> 更改与 config.xml 中的 <edit-config&g

将 .jar 文件包含到 cordova 插件中

Cordova 与 PhoneGap Build 中的 config.xml 位置