这个错误为最为常见的so文件异常错误,一般为多个插件同时包含了相同的so文件同时提交到云端打包出现的异常错误
异常示例
以下是HBuilderX云打包编译错误信息。请结合当前uni-app/uni-appx项目上下文分析失败原因,指出最可能的问题代码或配置,并给出可执行的修复步骤。Note:[PackagePath]/wgtRoot/__UNI__1840CDO/uni_modules/FaceAl-Search/utssdk/app-android/src/FaceSearchActivity.java uses or overrides adeprecated API.Note: Recompile with -Xlint:deprecation for details.FAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':app:mergeReleaseNativeLibs'.> A failure occurred while executingcom.android.build.gradle.internal.tasks.MergeNativeLibsTask$MergeNativeLibsTaskWorkAction> 2 files found with path 'lib/arm64-v8a/libyuv.so' from inputs:/srv/.gradle/caches/8.14.3/transforms/cc9177258e12fbd658b14d09781e3456/transformed/jetified-media-livepusher-release/jni/arm64-v8a/libyuv.so/srv/.gradle/caches/8.14.3/transforms/69a03a31bc7ffc6e10b12c39dfb2045d/transformed/jetified-libuvccamera-release/jni/arm64-v8a/libyuv.soIf you are using jniLibs and CMake IMPORTED targets, seehttps://developer.android.com/r/tools/jniLibs-vs-imported-targets
解决方法
找到错误的位置
如上面的示例错误位置为
2 files found with path 'lib/arm64-v8a/libyuv.so' from inputs:说明提交打包是同时提交了lib/arm64-v8a/libyuv.so文件,只需要在manifest.json文件中配置packagingOptions即可
配置packagingOptions
打开项目的manifest.json文件,打开`源码视图`在`distribute > android`节点下配置`packagingOptions`节点并配置`pickFirst`参数,如下方代码所示:
/* android打包配置 */"android" : {"permissions" : ["<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-feature android:name=\"android.hardware.camera\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>","<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>","<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>"],"abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ],"packagingOptions" : ["pickFirst 'lib/arm64-v8a/libyuv.so'","pickFirst 'lib/armeabi-v7a/libyuv.so'"]}
建议
如果出现类似`2 files found with path 'lib/arm64-v8a/libyuv.so'`的错误建议将`armeabi-v7a``arm64-v8a``x86`一起配置,免得差一个没有配置提交打包后还是出现这种异常
配置完成后提交打包即可解决此问题
注意
如果打包完成后出现运行异常,此时只能通过找插件作者解决此问题
夜雨聆风