uni-app 上架谷歌商店后地图组件空白
uni-app 上架谷歌商店后地图组件空白
产品分类:
uniapp/App
PC开发环境操作系统:
Windows
PC开发环境操作系统版本号:
19043.928
HBuilderX类型:
正式
HBuilderX版本号:
3.2.12
手机系统:
Android
手机系统版本号:
Android 12
手机厂商:
华为
手机机型:
红米k30pro
页面类型:
nvue
打包方式:
云端
项目创建方式:
HBuilderX
App下载地址或H5网址:
示例代码:
<map id="map" class="map" :style="{height:height+'px'}" :show-compass="true" :latitude="latitude"
longitude="longitude" :controls="controls" :markers="covers" :circles="circles">
<cover-view class="controls" @click="goBack">
<image src="../../static/iconhuiao.png" class="controlsImg"></image>
</cover-view>
</map>
操作步骤:
- 点击联络海关进入地图
预期结果:
- 出现地图
实际结果:
- 地图组件空白
bug描述:
打包AAB上架谷歌商店后地图组件空白;打包apk直接安装是没有问题的;
更多关于uni-app 上架谷歌商店后地图组件空白的实战教程也可以访问 https://www.itying.com/category-93-b0.html
使用的云端打包,自有证书;检查几遍了不是签名的问题;
更多关于uni-app 上架谷歌商店后地图组件空白的实战教程也可以访问 https://www.itying.com/category-93-b0.html
appid发下
UNICBBEA39
我把文件从.nvue换成.vue就可以显示了
回复 9***@qq.com: 听你这样的描述 与地图应该没关系,是不是卡了没加载出来呀
回复 DCloud_Android_ST: 确实没有加载。怀疑是不是打包成.AAB的时候nvue编译出了什么问题呀。。打包成apk是好的
回复 9***@qq.com: vue的地图是js还是uni封装的 是高德地图吗
回复 DCloud_Android_ST: 高德,uni封装的map组件
回复 9***@qq.com: 没复现你说的问题 你可以重新打包一个可以复现你说的问题的项目 我这边根据你的打包记录获取aab 测试一下
回复 DCloud_Android_ST: 就是最新的那条打包成aab的那条记录;你看下呢?我是通过google play的app abundle探索器下载的已签名的通用apk测试的;定位是好的,就是地图一直空白
你的那个链接我们用不了 我这边只能用aab转apks测试 结果应该是一样的
根据你的描述,这是一个典型的谷歌商店上架后地图组件空白问题。主要原因在于谷歌商店要求应用必须使用AAB格式上架,而AAB格式在打包时可能未包含地图所需的原生库或配置。
核心原因分析:
- AAB打包配置问题:云端打包AAB时,默认可能未包含地图SDK所需的CPU架构(如arm64-v8a)。谷歌商店会根据设备CPU架构分发对应的APK,如果缺少对应架构的库文件,地图组件将无法加载。
- 地图密钥配置问题:高德/百度地图SDK需要配置签名SHA1。AAB上架后,谷歌会使用自己的签名重新签名应用,导致地图SDK验证失败。
解决方案:
-
检查CPU架构配置:
- 在
manifest.json→ App模块配置中,确保勾选地图模块(如高德地图、百度地图)。 - 在
manifest.json→ App常用其他设置中,检查是否勾选了所有CPU架构(尤其是arm64-v8a)。
- 在
-
重新配置地图密钥:
- 获取谷歌商店签名的SHA1:
- 登录Google Play Console,进入你的应用。
- 在“发布” → “应用完整性”中查看“应用签名密钥证书”。
- 复制SHA1指纹,并到高德/百度地图开放平台,将该SHA1添加到应用的配置中(与本地调试的SHA1共存)。
- 在
manifest.json→ App SDK配置中,使用谷歌商店的包名和密钥重新配置地图SDK。
- 获取谷歌商店签名的SHA1:
-
本地测试AAB:
- 使用HBuilderX打包AAB后,通过
bundletool生成针对你测试设备的APK,安装测试地图是否正常。命令示例:java -jar bundletool.jar build-apks --bundle=your_app.aab --output=out.apks --local-testing java -jar bundletool.jar install-apks --apks=out.apks
- 使用HBuilderX打包AAB后,通过
-
检查网络权限:
- 确保AndroidManifest.xml中已添加网络权限:
<uses-permission android:name="android.permission.INTERNET" />
- 确保AndroidManifest.xml中已添加网络权限:


