uni-app 上架谷歌商店后地图组件空白

uni-app 上架谷歌商店后地图组件空白

产品分类:

uniapp/App

PC开发环境操作系统:

Windows

PC开发环境操作系统版本号:

19043.928

HBuilderX类型:

正式

HBuilderX版本号:

3.2.12

手机系统:

Android

手机系统版本号:

Android 12

手机厂商:

华为

手机机型:

红米k30pro

页面类型:

nvue

打包方式:

云端

项目创建方式:

HBuilderX

App下载地址或H5网址:

https://play.googleapis.com/download/playconsole/AOTCm0Tl2MszfnxR0bM7IWXACOWQjhMaqBe01c9ZcaKDAlAeJjii9Lk6QQItOsMbHF4cCO1KPd2MSL1sQxfFXrlO6eE1V0vZiB1rSvA2x03dALy6V_aAmzlIfACWPhFQxJXS1Wh0CPHVEbCLi6l9u6KR7R65juVqmSd7zw7xVHc367mo_4LkoGev0elSFBbZEqSvBPua

示例代码:

<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

13 回复

使用的云端打包,自有证书;检查几遍了不是签名的问题;

更多关于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格式在打包时可能未包含地图所需的原生库或配置。

核心原因分析:

  1. AAB打包配置问题:云端打包AAB时,默认可能未包含地图SDK所需的CPU架构(如arm64-v8a)。谷歌商店会根据设备CPU架构分发对应的APK,如果缺少对应架构的库文件,地图组件将无法加载。
  2. 地图密钥配置问题:高德/百度地图SDK需要配置签名SHA1。AAB上架后,谷歌会使用自己的签名重新签名应用,导致地图SDK验证失败。

解决方案:

  1. 检查CPU架构配置

    • manifest.json → App模块配置中,确保勾选地图模块(如高德地图、百度地图)。
    • manifest.json → App常用其他设置中,检查是否勾选了所有CPU架构(尤其是arm64-v8a)。
  2. 重新配置地图密钥

    • 获取谷歌商店签名的SHA1:
      • 登录Google Play Console,进入你的应用。
      • 在“发布” → “应用完整性”中查看“应用签名密钥证书”。
      • 复制SHA1指纹,并到高德/百度地图开放平台,将该SHA1添加到应用的配置中(与本地调试的SHA1共存)。
    • manifest.json → App SDK配置中,使用谷歌商店的包名和密钥重新配置地图SDK。
  3. 本地测试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
      
  4. 检查网络权限

    • 确保AndroidManifest.xml中已添加网络权限:
      <uses-permission android:name="android.permission.INTERNET" />
回到顶部