uni-app HBuilderX 3.1.8版本打包安卓时因引用阿里人脸识别原生插件导致打包失败
uni-app HBuilderX 3.1.8版本打包安卓时因引用阿里人脸识别原生插件导致打包失败
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | win10 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
PC开发环境操作系统版本号:win10
HBuilderX类型:正式
HBuilderX版本号:3.1.8
手机系统:Android
手机系统版本号:Android 11
手机厂商:华为
手机机型:Meta40
页面类型:vue
打包方式:云端
项目创建方式:HBuilderX
操作步骤:
在3.1.8版本下, 引入入APFaceDetectPlugin插件, 进行打包地址: https://cn-shanghai-aliyun-cloudauth.oss-cn-shanghai.aliyuncs.com/cloudauth_sdk/identity_toyger/Uni-AP-FaceDetectModule-20210122.zip?spm=a2c4g.11186623.2.3.7ca4748ekfH1Ah&file=Uni-AP-FaceDetectModule-20210122.zip
预期结果:
打包成功
实际结果:
打包失败
bug描述:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:mergeReleaseNativeLibs'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
> More than one file was found with OS independent path 'lib/armeabi-v7a/libstlport_shared.so'. If you are using jniLibs and CMake IMPORTED targets, see https://developer.android.com/studio/preview/features#automatic_packaging_of_prebuilt_dependencies_used_by_cmake
* Try:
Run with --debug option to get more log output. Run with --scan to get full insights.
更多关于uni-app HBuilderX 3.1.8版本打包安卓时因引用阿里人脸识别原生插件导致打包失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html
'lib/armeabi-v7a/libstlport_shared.so’这个库与LivePusher模块的依赖库冲突了
更多关于uni-app HBuilderX 3.1.8版本打包安卓时因引用阿里人脸识别原生插件导致打包失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html
打包错误链接发出来
回复 DCloud_Android_ST: 我用的是云端打包,并没有这个文件夹,原生插件的目录文件我放在下面了.只有两个arr包,我要解开改目录吗
回复 DCloud_Android_ST: 下的是这个原生插件 https://cn-shanghai-aliyun-cloudauth.oss-cn-shanghai.aliyuncs.com/cloudauth_sdk/identity_toyger/Uni-AP-FaceDetectModule-20210122.zip?spm=a2c4g.11186623.2.5.2667748eeQM0Ie&file=Uni-AP-FaceDetectModule-20210122.zip 文档:https://help.aliyun.com/document_detail/179264.html?spm=a2c4g.11186623.6.580.3db8529ejLAID9
回复 j***@won-cloud.com: 与LivePusher模块冲突了
回复 DCloud_Android_ST: 恩.去掉livePusher模块就可以了.谢谢
原生插件目录
看看能不能将stl包去掉一个,如果不能就只能等我们将stl库单独拆分出来,然后在提供新包
我先将LivePusher模块去掉了.等你们新包哦
这是一个典型的原生库冲突问题。错误信息显示在打包过程中发现多个 lib/armeabi-v7a/libstlport_shared.so
文件,导致 Gradle 无法确定使用哪个版本。
问题分析: 阿里人脸识别插件可能自带了 STL 库,而项目中其他原生模块或框架也包含了相同名称的库文件,在合并时产生冲突。
解决方案:
-
检查插件依赖 确认是否同时引入了其他包含原生库的插件,特别是涉及图像处理、AI 识别的插件。
-
在
app-plus
配置中添加排除规则 在manifest.json
中配置:"app-plus": { "modules": { "APFaceDetectPlugin": {} }, "distribute": { "android": { "packagingOptions": { "exclude": "lib/armeabi-v7a/libstlport_shared.so" } } } }