uni-app新版Hbuilderx构建的apk不能在一些新版手机上安装

uni-app新版Hbuilderx构建的apk不能在一些新版手机上安装

操作步骤:

1

预期结果:

1

实际结果:

1

bug描述:

用最新版本的Hbuilderx构建的apk 在部分手机上不能安装,如下图。再次强调:在有的手机上可以正常安装,只是有的手机不能正常安装,不能正常安装的手机型号是VIVO X80

image

开发环境 版本号 项目创建方式
PC开发环境 Windows HBuilderX
PC开发环境版本号 win11 24H2
手机系统 Android
手机系统版本号 Android 16
手机厂商 vivo
手机机型 X80
页面类型 vue
vue版本 vue3
打包方式 云端

更多关于uni-app新版Hbuilderx构建的apk不能在一些新版手机上安装的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

原因是因为部分手机不再支持32位应用,打包时需要勾选上arm64-v8a。具体参考文档:https://uniapp.dcloud.net.cn/tutorial/app-android-abifilters.html
注意:如果勾选之后打包仍然提示上述错误,一般是原生插件或者uts插件不支持arm64-v8a导致的,可以去掉所有插件试一下。

更多关于uni-app新版Hbuilderx构建的apk不能在一些新版手机上安装的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个比较常见的兼容性问题,通常与Android系统版本和打包配置有关。以下是几个关键排查方向:

  1. targetSdkVersion适配问题
    manifest.json 中检查 targetSdkVersion 是否 ≥ 30。Android 11+ 强制要求应用适配分区存储(Scoped Storage),若未适配会导致安装失败。建议将 targetSdkVersion 设置为 33 并确认权限配置正确。

  2. 64位架构支持
    自2019年起,Google Play要求APK必须包含64位库。虽然云端打包默认支持,但可检查 manifest.json 中是否配置了 "abiFilters": ['arm64-v8a','armeabi-v7a']

  3. 安装包签名验证
    VIVO等厂商对签名校验较严格。尝试使用正式签名证书(非测试证书)重新打包,并确保签名算法为V1+V2+V3。

  4. 系统兼容性配置
    manifest.json"android" 节点下添加:

    "minSdkVersion": 21,
    "targetSdkVersion": 33,
    "installLocation": "auto"
    
  5. 安装错误日志抓取
    通过以下命令获取具体失败原因:

    adb logcat | grep "INSTALL_FAILED"
回到顶部