HarmonyOS鸿蒙Next中Android项目身份证识别不支持armeabi文件夹下读取.so吗?
HarmonyOS鸿蒙Next中Android项目身份证识别不支持armeabi文件夹下读取.so吗? 项目依赖库如下
implementation 'com.huawei.hms:ml-computer-card-icr-cn:2.0.3.303'
implementation 'com.huawei.hms:ml-computer-vision-ocr:2.0.5.301'
implementation 'com.huawei.hms:ml-computer-vision-ocr-cn-model:2.0.5.301'
implementation 'com.huawei.hms:ml-computer-vision-ocr-jk-model:2.0.5.301'
implementation 'com.huawei.hms:ml-computer-vision-ocr-latin-model:2.0.5.301'
implementation 'com.huawei.hms:ml-computer-card-gcr-plugin:2.0.1.301'
以下为报错log信息
E/IcrEngineDelegate: failed to load native library: dalvik.system.PathClassLoader[DexPathList[[zip file “/system/framework/org.apache.http.legacy.boot.jar”, zip file “/data/app/com.xxxx.scanface.demo-ObcwXH03iMTxbp5WJRBVhQ==/base.apk”],nativeLibraryDirectories=[/data/app/com.xxx.scanface.demo-ObcwXH03iMTxbp5WJRBVhQ==/lib/x86, /data/app/com.xxx.scanface.demo-ObcwXH03iMTxbp5WJRBVhQ==/base.apk!/lib/x86, /system/lib]]] couldn’t find “libIdCardRecogeOCR.so”
更多关于HarmonyOS鸿蒙Next中Android项目身份证识别不支持armeabi文件夹下读取.so吗?的实战教程也可以访问 https://www.itying.com/category-93-b0.html
鸿蒙Next不支持Android原生库。身份证识别功能需使用鸿蒙NDK开发,调用鸿蒙API实现。
更多关于HarmonyOS鸿蒙Next中Android项目身份证识别不支持armeabi文件夹下读取.so吗?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
是的,你的理解是正确的。在HarmonyOS Next中,Android项目原有的armeabi架构支持方式已不适用。
具体到你的问题,核心原因在于:
- 架构差异:HarmonyOS Next使用全新的ArkTS/ArkUI框架和方舟编译器,其应用包结构与Android APK有本质不同。系统在查找原生库(.so文件)时,不会再去识别或访问APK包内
libs/armeabi这类Android标准的ABI目录。 - 路径解析失败:从错误日志
couldn't find "libIdCardRecogeOCR.so"可以看出,系统在预期的目录(如/lib/x86)中未找到该库。这明确表明,为Androidarmeabi架构编译的.so文件在HarmonyOS Next环境下无法被正确加载。
解决方案: 你需要使用专为HarmonyOS Next开发的原生能力套件。对于身份证识别功能,应替换为HarmonyOS的AI能力接口。
- 移除原有的HMS Android依赖:删除你列出的所有
com.huawei.hms:ml-*依赖项。 - 集成HarmonyOS SDK:在HarmonyOS Next项目的
oh-package.json5文件中,添加官方的@ohos/ai等相关模块依赖。 - 使用ArkTS API开发:调用HarmonyOS提供的
TextRecognition(文本识别)等AI接口来实现身份证信息识别功能。这些接口由系统统一调度,无需开发者手动处理原生库的架构和加载问题。
总结:HarmonyOS Next不兼容Android的armeabi原生库。必须使用HarmonyOS Next官方提供的API和开发范式重新实现相关功能。

