HarmonyOS 鸿蒙Next 导入har(har包含so库),运行报错
HarmonyOS 鸿蒙Next 导入har(har包含so库),运行报错
导入har包后,运行报错
10-07 14:47:09.930 258 493 I C02d10/HiView-LogStoreEx: DoDeleteLogFiles: Remove <private> Files.
10-07 14:47:09.930 258 493 I C02d10/FaultLogManager: SaveFaultLogToFile: create log jscrash-com.example.myapplication-20010038-20231007144709
10-07 14:47:09.930 258 493 I C02d10/Faultlogger: AddFaultLogIfNeed:
10-07 14:47:09.930 258 493 I C02d10/Faultlogger: Save Faultlog of Process:2262
10-07 14:47:09.930 258 493 I C02d10/Faultlogger: ModuleName:com.example.myapplication
10-07 14:47:09.930 258 493 I C02d10/Faultlogger: Reason:
10-07 14:47:09.930 258 493 I C02d10/Faultlogger: Summary:Lifetime: 0.000000s
10-07 14:47:09.930 258 493 I C02d10/Faultlogger: Js-Engine: ark
10-07 14:47:09.930 258 493 I C02d10/Faultlogger: page: pages/Index.js
10-07 14:47:09.930 258 493 I C02d10/Faultlogger: Error message: Cannot read property ***SDkVersion of undefined
10-07 14:47:09.930 258 493 I C02d10/Faultlogger: SourceCode:
10-07 14:47:09.930 258 493 I C02d10/Faultlogger: return ***Napi.***SDkVersion(v);
10-07 14:47:09.930 258 493 I C02d10/Faultlogger: ^
10-07 14:47:09.930 258 493 I C02d10/Faultlogger: Stacktrace:
10-07 14:47:09.930 258 493 I C02d10/Faultlogger: at ***SDkVersion (entry/oh_modules/.ohpm/@ohos+lib***sdk.har@file+src+main+libs+lib***sdk.har/oh_modules/@ohos/lib***sdk.har/src/main/ets/components/***Sdk.ets:32:12)
10-07 14:47:09.930 258 493 I C02d10/Faultlogger: at anonymous (entry/src/main/ets/pages/Index.ets:28:13)
10-07 14:47:09.931 258 493 I C02d10/Faultlogger: OnEvent: Seq match success, info.logPath /data/log/faultlog/faultlogger/jscrash-com.example.myapplication-20010038-20231007144709
10-07 14:47:09.948 258 493 I C02d10/ExtractRule: IsMatchPath: sourceFile is /data/log/faultlog/faultlogger/jscrash-com.example.myapplication-20010038-20231007144709, name is /data/log/faultlog/faultlogger/, pattern is jscrash-.*-\d±\d+.
更多关于HarmonyOS 鸿蒙Next 导入har(har包含so库),运行报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
依赖配置改为下图方式解决问题:
更多关于HarmonyOS 鸿蒙Next 导入har(har包含so库),运行报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
感觉这个官方应该写到文档了。我也是用你给出的方法解决的问题,
so库的api 链接到不了,要怎么配置,求解
在HarmonyOS鸿蒙Next中导入包含so库的har文件并运行报错,可能是由于以下原因:
-
so库路径问题:鸿蒙系统对so库的路径有严格的要求,确保so库放置在正确的目录下,通常是
libs/
目录。 -
架构不匹配:so库的架构(如arm64-v8a、armeabi-v7a)与设备的CPU架构不匹配,检查so库的架构是否与设备兼容。
-
依赖缺失:so库可能依赖其他库或资源文件,确保所有依赖项都已正确导入并放置在指定位置。
-
权限问题:某些so库需要特定的系统权限,确保在
config.json
中正确配置了所需的权限。 -
版本兼容性:so库的版本与鸿蒙系统的版本可能存在兼容性问题,检查so库是否支持当前鸿蒙版本。
-
编译选项:在编译har文件时,确保编译选项正确,特别是与so库相关的编译选项。
-
日志分析:查看设备日志(logcat)以获取更详细的错误信息,有助于定位具体问题。
-
签名问题:如果so库需要签名,确保签名正确且未被篡改。
-
API兼容性:so库可能使用了鸿蒙系统不支持的API,检查so库的API调用是否符合鸿蒙系统的规范。
-
资源冲突:确保so库中的资源文件与项目中的资源文件没有冲突。
通过以上步骤逐一排查,可以有效解决鸿蒙Next中导入har文件并运行报错的问题。