HarmonyOS Next 集成支付宝SDK后无法在模拟器上安装调试的问题
之前使用模拟器调试都正常,在集成支付宝SDK后,同事说在模拟器上无法安装调试,因为真机资源不够,模拟器不能用实在耽误事,所以就花了点时间研究一下。
报错原因

官方文档的解释

根据文档的说明,应该是cpu架构支持的问题,我们开发使用的都是x86 64位cpu,模拟器也是x86_64,分析支付SDK后,其lib文件夹中包含的blueshieldsdk har包中引用了so文件,且只包含了arm64-v8a,并没有包含x86_64,这就是问题所在了。
解决办法
build-profile.json5 配置文件中增加 x86_64,x86
在libs目录下创建x86_64,x86目录,并将支付宝SDK arm架构下的so文件拷贝进去(目的是安装时让系统认为支持x86 CPU)

重新部署,可以安装成功,但是启动app后报错闪退,查看报错原因为so文件加载失败,因为我们使用的x86的文件其实是arm下的文件,一般导入支付宝SDK模块会在页面顶部使用import,因此在app启动后会立刻加载SDK模块才会导致加载失败闪退,使用动态加载可以规避此问题。
注意:模拟器上运行代码到动态加载时还是会闪退的,此方法只是解决无法再模拟器安装的问题,真机设备目前基本都是arm芯片不会由此问题,但app正式发版时还是需要注意。
动态加载
import('@cashier_alipay/cashiersdk')
.then(module => {
})
.catch((err: BusinessError) => {
})
本文的技术设计和实现都是基于作者工作中的经验总结,如有错误,请留言指正,谢谢。
HarmonyOS Next 集成支付宝SDK后无法在模拟器上安装调试的问题的更多相关文章
- iOS开发——高级篇——如何集成支付宝SDK
一.什么是支付宝 第三方支付平台 和内购非常相似内购是用户将钱付款给苹果,之后苹果分成给商户支付宝是用户将钱付款给支付宝,之后支付宝将钱转入我们的账户 使用支付宝前提购买的物品必须是和应用程序无关的. ...
- 集成支付宝SDK流程
5.2 SDK集成流程 5.2.1 iOS 解压接口压缩文件(文件名是 WS_MOBILE_PAY_SDK_BASE.zip),找到iOS的压缩文件(文件名是支付宝移动支付SDK 标准版(iOS).z ...
- 集成支付宝SDK遇到的坑
一.首先我先把集成过程说一下.小编想说的话:支付宝是我做支付中觉得坑最多的一个,各种编译不过,各种出问题. 废话不多说,进入主题:1.首先当前是下载官方SDK啦,当前你也可以通过cocopods进行导 ...
- iOS - (集成支付宝SDK大坑总结)
其实集成支付宝相对于集成微信支付来说,支付宝算是简单的了,后续有空再去研究微信支付,现目前先总结一下集成支付宝所遇到的坑,其实支付宝的坑也不算太多,细算下来大概5-6个左右,但是其报错方式有点恶心,不 ...
- 关于集成支付宝SDK的开发
下载 首先,你要想找到这个SDK,都得费点功夫.如今的SDK改名叫移动支付集成开发包了,下载页面在 这里 的 "请点此下载集成开发包" Baidu和Googlep排在前面的支付宝开 ...
- Android集成支付宝的坑
Android在集成支付宝sdk的时候, 如果有安装支付宝,则启动支付宝app进行支付: 如果没有安装,则启动 H5PayActivity 进行支付. 记得在AndroidManifest里面配置: ...
- 转-android 支付宝SDK集成
http://blog.csdn.net/kroclin/article/details/40746779 一.前言 最近做的项目刚好要集成支付宝,上网找了很多资料,介绍得感觉不是很全面,所以我经过这 ...
- iOS:使用集成的支付宝SDK的支付流程
基本步骤: 1.先与支付宝签约,获得商户的ID(partner)和账号ID(seller),这一部分主要是又公司负责: 2.下载相应的公钥私钥文件,用来给签名进行加密: 3.下载支付宝集成的SDK,网 ...
- 支付宝sdk集成,报系统繁忙 请稍后再试(ALI64)
移动快捷支付,往往需要集成支付宝的sdk,集成的过程相对简单,只要按照支付宝的文档,进行操作一般不会出问题. 下面主要说明一下,集成sdk后报"系统繁忙 请稍后再试(A ...
- ***CodeIgniter框架集成支付宝即时到账支付SDK
本文为CI集成支付宝即时到账支付接口 1.下载支付宝官方demo ;即时到账交易接口(create_direct_pay_by_user)(DEMO下载) 原文地址:https://doc.open. ...
随机推荐
- 应聘软件测试,差点栽在了...这5道S级的测试用例设计题上... ...
1. 用例设计:根据下面需求,进行测试用例设计,请注意对测试点的表达. (网页端)需求描述: 某项目的营养素配置页面,供用户用来配置营养素的相关信息,其中: l 项目可供用户选择一种或多种营养素: l ...
- 【赵渝强老师】Docker Swarm实现服务的滚动更新
一.什么是Docker Swarm? Docker Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机 ...
- spring上 -基于Xml配置bean笔记
4,Spring 内容 7,快速入门 需求:通过 Spring 的方式[配置文件], 获取 JavaBean: Monster 的对象, 并给该的对象属性赋值, 输出该对象信息. 代码结构: lib ...
- USB 控制写传输、控制读传输、无数据控制传输都是在什么场景下?
在 USB 通信中,控制传输(Control Transfer)是一个非常常见且重要的传输类型,主要用于配置设备.查询设备状态以及发送和接收命令.控制传输有三种主要形式:控制写传输(Control W ...
- 2021年第十一届数据技术嘉年华(DTC)资料分享
数据技术嘉年华(DTC)是由由中国DBA联盟(ACDU)和墨天轮社区联合主办的数据技术领域的盛会,至今已成功举办11届,吸引和聚集了众多数据领域学术精英.领袖人物.技术专家.从业者和技术爱好者,于此进 ...
- kotlin更多语言结构——>This表达式
This表达式 为了表示当前的 接收者 我们使用 this 表达式: - 在类的成员中,this指的是该类的当前对象. - 在扩展函数或者带有接收者的函数字面值中,this 表示在点左侧传递的 接收者 ...
- jmeter使用beanshell完成签名计算,附与python代码对比
签名计算过程: 1.ticket计算:时间戳加+随机数字拼接后md5加密 2.组装公共参数+ticket+时间戳+业务参数 beanshell代码实现: import java.util.*;impo ...
- Windows安全中心在手动删除威胁文件后无法处理,一直显示有威胁
从网络上找到了一个简单靠谱的解决方案,与众位分享: 找到C:\ProgramData\Microsoft\Windows Defender\Scans\History\Service\Detectio ...
- uni-app H5 腾讯地图无法导航
uni-app 打包H5腾讯地图无法导航 具体使用扫描二维码查看 前言: 最近几天用uni-app开发安卓和iOS应用,打包成APP安装包后,APP内做地图导航没有问题,APP内使用的是高德地图:但是 ...
- dotnet6.0安装
解压到目录 sudo mkdir -p /usr/share/dotnet && sudo tar zxf dotnet-sdk-6.0.423-linux-x64.tar.gz -C ...