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