You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Cordova/Ionic项目中添加打开谷歌地图的Android intent权限

解决Ionic/Cordova Android 11(API 30)无法打开谷歌地图的配置方案

你当前配置不生效的核心原因是<queries>元素放错了节点。Android 11要求的包可见性声明<queries>必须是AndroidManifest.xml中<manifest>根节点的直接子元素,你现在把它嵌套在了<application>节点下,系统无法识别该配置。

正确配置步骤

1. 修改config.xml中安卓平台的配置

先删除原来写在<application>节点下的<queries>相关代码,新增单独针对manifest根节点的edit-config配置,修改后的完整安卓平台配置参考如下:

<platform name="android">
    <!-- 原有application节点的配置保留,删除内部嵌套的queries代码 -->
    <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
        <application android:networkSecurityConfig="@xml/network_security_config" />
    </edit-config>
    <!-- 新增单独的queries配置,target指向manifest根节点 -->
    <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest" xmlns:android="http://schemas.android.com/apk/res/android">
        <queries>
            <package android:name="com.google.android.apps.maps" />
        </queries>
    </edit-config>
    <resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
    <allow-intent href="market:*" />
    <!-- 原有其他安卓配置保持不变 -->
</platform>

2. 检查Cordova Android平台版本

要支持<queries>节点,需要你的项目cordova-android平台版本 ≥ 10.0.0,执行以下命令查看当前版本:
cordova platform ls
如果版本低于要求,执行以下命令升级:
cordova platform rm android && cordova platform add android@latest

3. 清理缓存重新构建

配置修改完成后,务必清理旧的构建缓存后再打包:
ionic cordova build android --clean
如果还是不生效,可以直接删除项目根目录下的platforms/android文件夹,再重新添加安卓平台后构建。

额外排查点

如果配置完成后依旧无法调起谷歌地图,可以检查Ionic Launch Navigator插件版本,升级到最新版即可,部分旧版插件本身未适配Android 11的包可见性规则。

内容的提问来源于stack exchange,提问作者Paul G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 05:54:02