uni-app HBuilder X 升级到最新版 3.98后 云打包后的apk文件无法安装到安卓设备上
uni-app HBuilder X 升级到最新版 3.98后 云打包后的apk文件无法安装到安卓设备上
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
HBuilderX | 3.98 | - |
操作步骤:
HBuilder X 升级到最新版 3.98后,进行云打包,打包成功后安装到安卓设备上
预期结果:
成功安装运行
实际结果:
提示应用未安装
bug描述:
HBuilder X 升级到最新版 3.98后,云打包后的apk文件无法安装到安卓设备上,但是安卓模拟器是可以安装成功的,使用 3.8.7版本是可以正常安装的
使用adb命令, adb install xx.apk,看下提示什么错误。
Failure [INSTALL_FAILED_NO_MATCHING_ABIS]
Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
运行:
adb install xx.apk
报错:
Failure [INSTALL_FAILED_NO_MATCHING_ABIS]
代码版本回滚了一个月,还是报这个错误,应该不是代码问题,上周打包还是好的。
我的问题解决了,是打包配置的指令集出问题。 我在hbuilder里勾选的 v7a,但是打包出来的lib中只有 v8a。 最后在源码视图下编辑manifest.json,写死 “abiFilters”:[“armeabi-v7a”,“arm64-v8a”]}。 然后编译基座打包成功。 挺无语的,应该是hbuilder升级版本的时候,把Android内核默认值改掉了,但是没有真实写入到配置里。
原因找到了,之前App 打包一直选择的是armeabi-v7a ,
HBuilderX3.92及以下版本,默认值为armeabi-v7a
HBuilderX3.93及以上版本,默认值调整为arm64-v8a。
在打包的时候勾选 armeabi-v7a 就可以了
我问题是3.98 版本云打包后,安卓7.1版本报不兼容,8.1可以,这个怎么处理,各位大佬
在升级到 HBuilder X 3.98 后,如果云打包后的 APK 文件无法安装到安卓设备上,可能是由于以下几个原因导致的。以下是一些常见的排查步骤和解决方案:
1. 检查 APK 签名问题
- 原因:如果 APK 未正确签名,或者签名证书不匹配,可能会导致无法安装。
- 解决方案:
- 确保在 HBuilder X 中正确配置了签名证书。
- 如果使用 DCloud 的默认证书,可以尝试重新生成证书。
- 如果是自定义证书,检查证书是否有效。
2. 检查 Android 设备的最低 SDK 版本
- 原因:如果 APK 的最低 SDK 版本高于设备的 Android 版本,会导致无法安装。
- 解决方案:
- 在
manifest.json
中检查minSdkVersion
配置,确保其值适合目标设备。 - 例如,如果设备是 Android 5.0,确保
minSdkVersion
不高于 21。
- 在
3. 检查 APK 的架构支持
- 原因:如果 APK 只支持特定 CPU 架构(如 arm64),而设备不支持该架构,会导致无法安装。
- 解决方案:
- 在 HBuilder X 的云打包配置中,确保勾选了所有支持的 CPU 架构(如 armeabi-v7a、arm64-v8a、x86 等)。
- 在
manifest.json
中检查abiFilters
配置。
4. 检查 APK 文件是否损坏
- 原因:如果 APK 文件在下载或传输过程中损坏,会导致无法安装。
- 解决方案:
- 重新打包并下载 APK 文件。
- 使用工具(如
adb install
)尝试安装,查看是否有错误提示。
5. 检查设备存储空间
- 原因:如果设备存储空间不足,可能会导致无法安装。
- 解决方案:
- 清理设备存储空间,确保有足够的空间安装 APK。
6. 检查设备安装权限
- 原因:如果设备未开启“允许安装未知来源应用”的权限,会导致无法安装。
- 解决方案:
- 在设备的设置中,找到“安全”或“应用管理”,开启“允许安装未知来源应用”的选项。
7. 检查 HBuilder X 版本兼容性
- 原因:HBuilder X 3.98 可能存在某些兼容性问题。
- 解决方案:
- 尝试降级到之前的稳定版本(如 3.97),重新打包测试。
- 关注 DCloud 官方论坛或更新日志,查看是否有已知问题。
8. 使用 adb 安装并查看错误日志
- 原因:通过 adb 安装可以获取更详细的错误信息。
- 解决方案:
- 连接设备到电脑,使用以下命令安装 APK:
adb install path/to/your.apk
- 连接设备到电脑,使用以下命令安装 APK: