Appearance
mergeReleaseNativeLibs
这个错误为最为常见的so文件异常错误,一般为多个插件同时包含了相同的so文件同时提交到云端打包出现的异常错误
异常示例
text
以下是HBuilderX云打包编译错误信息。请结合当前uni-app/uni-appx项目上下文分
析失败原因,指出最可能的问题代码或配置,并给出可执行的修复步骤。
Note:[PackagePath]/wgtRoot/__UNI__1840CDO/uni_modules/FaceAl-
Search/utssdk/app-android/src/FaceSearchActivity.java uses or overrides a
deprecated 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 executing
com.android.build.gradle.internal.tasks.MergeNativeLibsTask$MergeNativeLibsTas
kWorkAction
> 2 files found with path 'lib/arm64-v8a/libyuv.so' from inputs:
/srv/.gradle/caches/8.14.3/transforms/cc9177258e12fbd658b14d09781e3456/transf
ormed/jetified-media-livepusher-release/jni/arm64-v8a/libyuv.so
/srv/.gradle/caches/8.14.3/transforms/69a03a31bc7ffc6e10b12c39dfb2045d/transf
ormed/jetified-libuvccamera-release/jni/arm64-v8a/libyuv.so
If you are using jniLibs and CMake IMPORTED targets, see
https://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.soso文件,只需要在manifest.json文件中配置packagingOptions即可
配置packagingOptions
打开项目的manifest.json文件,打开源码视图在distribute > android节点下配置packagingOptions节点并配置pickFirst参数,如下方代码所示:
json
/* 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一起配置,免得差一个没有配置提交打包后还是出现这种异常
配置完成后提交打包即可解决此问题
注意
如果打包完成后出现运行异常,此时只能通过找插件作者解决此问题

