HarmonyOS 引入了一个不支持模拟器的库,怎么处理能让工程能在模拟器和真机都能运行

引入了一个三方库,不支持模拟器运行,运行报错,怎么做可以让工程既可以在模拟器运行,又可以在真机运行,模拟器可以不使用该功能。

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

如果只是需要运行而不使用该功能的话,可以使用动态import方案:以speech Kit为例,可以通过检测运行的手机的类型,来确定是否动态加载speech包来避免闪退。

参考示例:

const productModel = AppStorage.get<string>('productModel');
//启动时从deviceInfo获取productModel信息存放到appstorage中,然后在后续页面中获取
if (productModel != "emulator") {
  //将包含了speech kit的UI封装到一个har中 @ohos/readerfeature 不是模拟器就加载
  import('@ohos/readerfeature').then((ns: ESObject) => {
    this.nodeController =
      new ns.ReaderNodeController(this.contentid, this.articleItem.title, this.articleItem.content, this.onBackPressed)
    // 用NodeController包装包含speech kit 及其text reader的UI,动态创建传给页面上的参数 nodeController
  })
}

然后再页面上任意位置使用NodeContainer(this.nodeController) 加载到页面UI中,关于动态import可参考以下文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-dynamic-import-V5

分享
微博
QQ
微信
回复
2天前
相关问题
模拟器安装失败
11394浏览 • 2回复 待解决
本地模拟器不支持断点调试????
2589浏览 • 1回复 待解决
安装失败,模拟器安装成功
9858浏览 • 4回复 已解决
IDE5创建工程无法在模拟器运行
248浏览 • 1回复 待解决
HarmonyOS 模拟器黑屏
149浏览 • 1回复 待解决
HarmonyOS 模拟器怎么打开定位?
337浏览 • 1回复 待解决
本地模拟器运行程序出错怎么回事?
7091浏览 • 1回复 待解决
HarmonyOS如何下载模拟器
660浏览 • 1回复 待解决
HarmonyOS 模拟器相册问题
156浏览 • 1回复 待解决
模拟器总是卡死,运行耗费内存大
125浏览 • 1回复 待解决
怎么模拟器相册增加图片视频
698浏览 • 1回复 待解决
模拟器能否跳过联网?
183浏览 • 1回复 待解决
DevEco模拟器无法启动
4569浏览 • 0回复 待解决