gpt4 book ai didi

cordova - 编辑配置在 Cordova 的 config.xml 中不起作用

转载 作者:行者123 更新时间:2023-12-02 06:44:23 24 4
gpt4 key购买 nike

我正在开发一个 Ionic 应用程序,我想通过 config.xml 在 AndroidManifest.xml 文件中添加 android@autoBackup="false"。根据cordova文档,cordova版本6.4支持config.xml中的edit-config标签,通过它我可以实现类似于plugin.xml的功能。

这是我在 config.xml 文件中编写的内容。

<platform name="android">
<edit-config file="AndroidManifest.xml" target="/manifest/application" mode="merge">
<application android:autoBackup="false" />
</edit-config>
<icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/>
<icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi"/>
<splash src="resources/android/splash/drawable-port-ldpi-screen.png" density="port-ldpi"/>
<splash src="resources/android/splash/drawable-port-mdpi-screen.png" density="port-mdpi"/>
<splash src="resources/android/splash/drawable-port-xxxhdpi-screen.png" density="port-xxxhdpi"/>
</platform>

它会像这样更改我的 AndroidManifest.xml 文件

<application android:autoBackup="false" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:supportsRtl="true">
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="adjustResize">
<intent-filter android:label="@string/launcher_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<application android:autoBackup="false" />
<activity android:exported="true" android:launchMode="singleTop" android:name="com.gae.scaffolder.plugin.FCMPluginActivity">
<intent-filter>
<action android:name="FCM_PLUGIN_ACTIVITY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<service android:name="com.gae.scaffolder.plugin.MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name="com.gae.scaffolder.plugin.MyFirebaseInstanceIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
</application>

在上面的 AndroidManifest.xml 代码中,您可以轻松地发现应用程序标签已更新为 android@autoBackup="false",而且还添加了应用程序标签作为第一个具有 autoBackup 属性的应用程序标签的子级。我不希望应用程序标签作为子标签,我尝试了很多,但找不到此问题的根本原因。谁能建议我我在这里做错了什么?提前致谢。

最佳答案

尝试更改 edit-config 标记的“target”属性,如下所示:

<edit-config file="AndroidManifest.xml" target="application" mode="merge">

这告诉cordova您想要修改名为“application”的节点。请参阅XPath有关 XPath 选择器的更多详细信息。

如果这对您不起作用,可以看看 cordova-plugin-custom-config 。使用此插件,您只需将首选项标记添加到 config.xml 的 android 部分,例如 this :

<preference name="android-manifest/@android:allowBackup" value="false" />

关于cordova - 编辑配置在 Cordova 的 config.xml 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45554790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com