我在项目的config.xml中添加了一个edit-config指令,现在每次运行'cordova run android'时,都会从正在编辑的文件中删除另一行。
下面是我的编辑配置:
<platform name="android">
...
<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application">
<application android:allowBackup="false" />
</edit-config>
</platform>
我怎么才能让这个工作,而不是删除一个标签,每次我调用' cordova 运行android'?
我怀疑这是一个错误,但我还没有发现它的其他示例-我很乐意报告它,如果我有一个更好的了解如何创建它。
3条答案
按热度按时间8yoxcaq71#
我在尝试使用
<edit-config>
来修改<application>
元素的属性时遇到过类似的问题。看起来Cordova在将自己的默认更改应用到<application>
元素时覆盖了<edit-config>
所做的更改,即设置android:label
等。我的解决方法是使用
after_prepare
钩子脚本在Cordova完成更改后应用更改。config.xml
脚本/设置允许备份.js:
另一种方法是使用cordova-custom-config,默认情况下应用
after_prepare
的更改:添加插件:
在
config.xml
中设置自定义首选项:wfveoks02#
依据:https://stackoverflow.com/a/53282161/62917
将edit-config移到platform元素之外,我的问题得到了解决。我还必须将file属性更改为:
文件=“应用程序/源代码/主文件/Android清单. xml”
q1qsirdb3#
我通过指定
AndroidManifest.xml
的完整路径来解决这个问题。试试看:
这可以防止插件添加的
<service>
元素被我的编辑删除。我不知道为什么会这样。我使用的是cordova 11.0.0和cordova-android 10.1.2。