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. ...
随机推荐
- python脚本之requests库上传文件
一.前言 在学习的时候,发现有一个AWD的文件上传执行漏洞,突然想着批量对不同靶机进行操作并get_flag.思路简单,但是没构造 过文件上传的requests 的post请求的payload.便记录 ...
- CSIG企业行-走进合合信息成功举行,聚焦生成式人工智能、智能文档处理前沿热点
3月18日,由中国图象图形学学会(CSIG)主办,合合信息.CSIG文档图像分析与识别专业委员会联合承办的"CSIG企业行"系列活动成功举办.此次活动以"图文智能处理与多 ...
- RxJS 系列 – Filtering Operators
前言 介绍完 RxJS 两大概念 Observable 和 Subject 之后, 篇幅最大的就是各种 Operators 了. 这篇先介绍比较简单的 Filter Operators. 请先看完上面 ...
- EF Core – Library use EF
前言 写 Library 有时候会用到 database, 会想用 EF 来维护. 比如 Identity, IdentityServer, OpenIddict, 这些 Library 都有使用到 ...
- C++ 数组元素操作
数组元素的移除 核心思路:创建一个新的内存空间存储移除后的数组,再将原数组delete释放,再将指针指向新数组. cout << "----------------------- ...
- iframe嵌套登录页-页面无法加载
背景 活动页面和登录页跨域,过去都是跳转到登录页登录之后再跳转回来,体验不好. 现在需要将登录模块嵌入到活动页,因为懒,不想开发重复的模块,首先我想到的是iframe 刚开始还能正常使用,一段时间后安 ...
- 有没有开发过⼀些vue插件?举例说说 - 批量引入插件
有过,项⽬开发的时间⻓了,沉淀了不少业务通⽤全局组件,想把他们统⼀进⾏注册,就封装了⼀个⼩ 插件 当时其实⼀开始也没有什么思路,后来扒了⼀下 elementUI的源码,仿了⼀下它的写法,流程我还⼤概记 ...
- vue项目整合echarts
准备工作: 首先我们初始化一个vue项目,执行vue init webpack echart,接着我们进入初始化的项目下.安装echarts, npm install echarts -S //或 ...
- 【2024有效】WordPress忘记密码找回登录密码的最简单有效的方法
这个找回Wordpress后台密码密的方法,前提是,可以操作数据. 最近忘记了极客侠网站登陆密码,还是按照以前的方法,进入数据库直接修改数据库, 但是现在wordpress密码的加密不是简单的MD5所 ...
- 学习JavaScript第六天
文章目录 1. JavaScript 中的垃圾回收机制(GC) 1.1 垃圾回收相关概念 ① 什么是垃圾 ② 什么是垃圾回收 ③ 垃圾没有及时回收的后果 ④ JavaScript 垃圾回收的常见算法 ...