uni-app HBuilderX使用公共证书打的apk安装包无法安装到android8的pda设备中
uni-app HBuilderX使用公共证书打的apk安装包无法安装到android8的pda设备中
操作步骤:
- 使用HBuilderX新建项目,选择【默认模版】
- 发行 - 使用App - 云打包
- 选择【使用公共测试证书】
- 单击【打包】操作
- 等apk安装包生产以后,使用usb线连接一个android8的pda设备(记得打开开发者模式并选择调试)
- 在控制台单击[打开所在目录]
- 选择apk安装文件 - 右击 - 安装到手机 - 选择连接的手机
- 控制台报错
预期结果:
应该提示安装成功
实际结果:
15:28:08.920 开始安装 `UNI`1CA900D`20240221152746.apk 到设备2335604 中...
15:28:12.084 Performing Push Install
/Users/zhengzhiyong/workspace/RuoYi-App/unpackage/release/apk/`UNI`1CA900D`20240221152746.apk: 1 file pushed, 0 skipped. 8.9 MB/s (12946868 bytes in 1.383s)
pkg: /data/local/tmp/`UNI`1CA900D__20240221152746.apk
Failure [INSTALL_FAILED_NO_MATCHING_ABIS]
15:28:12.084 安装失败
bug描述:
HBuilderX使用公共证书打的apk安装包无法安装到android8的pda设备中,我们是老项目,去年8月份是可以正常打包安装的,现在pda能安装去年8月份打的apk包,但是无法安装最新打的apk包; 我新建了uniapp模版项目,测试重新生成apk包,也无法在android8的pda设备中安装。 而普通的android手机却可以正常安装的。 附近为我本地【新建的uniapp模版项目测试生成的apk包】
更多关于uni-app HBuilderX使用公共证书打的apk安装包无法安装到android8的pda设备中的实战教程也可以访问 https://www.itying.com/category-93-b0.html
之前一直可以的,感觉是云打包升级了,导致不兼容
更多关于uni-app HBuilderX使用公共证书打的apk安装包无法安装到android8的pda设备中的实战教程也可以访问 https://www.itying.com/category-93-b0.html
看看cpu
是pda设备的cpu吗? 具体在哪里看
找到了,谢谢
在使用 HBuilderX 打包 Uni-app 项目时,如果您使用公共证书(即默认的测试证书)打包的 APK 文件无法安装到 Android 8(API 26)的 PDA 设备中,可能是由于以下原因导致的:
1. Android 8 的安全机制
- Android 8 引入了更严格的安装机制,特别是对未签名的 APK 或使用测试证书签名的 APK 的安装限制。
- 测试证书签名的 APK 可能会被 Android 8 及以上版本的系统拒绝安装。
2. 证书问题
- 公共证书(测试证书)是不受信任的证书,Android 8 及以上版本可能会阻止安装。
- 建议使用正式的签名证书对 APK 进行签名,而不是使用默认的测试证书。
3. APK 签名验证
- 确保 APK 文件完整且未损坏。损坏的 APK 文件会导致安装失败。
- 使用
adb工具检查 APK 是否正确签名:apksigner verify --verbose your_app.apk - 如果签名有问题,重新签名 APK。
4. 设备设置
- 确保 PDA 设备允许安装来自未知来源的应用。可以在设备的 设置 -> 安全 -> 未知来源 中启用。
- 如果设备是企业设备,可能需要联系管理员安装应用。
5. 适配 Android 8
- 确保您的 Uni-app 项目适配了 Android 8 及以上版本,例如:
- 在
manifest.json中正确配置targetSdkVersion。 - 检查是否有需要适配的权限或 API。
- 在
解决方法
-
使用正式签名证书
- 在 HBuilderX 中,使用正式的签名证书对 APK 进行签名,而不是使用默认的测试证书。
- 在 HBuilderX 的
manifest.json中配置签名信息,或者通过命令行工具手动签名。
-
手动签名
- 使用
jarsigner或apksigner工具对 APK 进行手动签名。可以参考以下步骤:jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore your_keystore.jks -storepass your_password your_app.apk alias_name zipalign -v 4 your_app.apk your_app_aligned.apk
- 使用
-
检查设备兼容性
- 确保设备的 Android 系统版本与 APK 的
minSdkVersion和targetSdkVersion兼容。
- 确保设备的 Android 系统版本与 APK 的
-
使用调试模式
- 如果只是用于调试,可以通过
adb install命令直接安装 APK 到设备中:adb install your_app.apk
- 如果只是用于调试,可以通过

