Execution failed for task ':sdk:mergeDebugNativeLibs'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.MergeNativeLibsTask$MergeNativeLibsTaskWorkAction
2 files found with path 'lib/arm64-v8a/libaaa.so' from inputs:
- /Volumes/hp-sxf/StudioProjects/face/sdk/build/intermediates/merged_jni_libs/debug/out/arm64-v8a/libaaa..so
- /Volumes/hp-sxf/StudioProjects/face/sdk/build/intermediates/cxx/Debug/5h3r672g/obj/arm64-v8a/libaaa..so
If you are using jniLibs and CMake IMPORTED targets, see
https://developer.android.com/r/tools/jniLibs-vs-imported-targets
網上看了很多原因,也看了官方解釋,跟我的情況還不一樣,我的最后查到的原因是因為配置了gradle task,這個task 會在編譯期拷貝libaaa.so到cmake依賴的文件夾,但是換了一個gradle版本,這個就會報錯了,匪夷所思,把拷貝邏輯去掉就好了
很久之后,又遇到了同樣的問題,按官方解釋的把sourceSets去掉,也不行,最后試了下不去掉sourceSets,而是把里邊的dir置為空可以順利build通過,這種情況存在於創建在gradle4之前,又切換到gradle4.0之后。
sourceSets { main { // The libs directory contains prebuilt libraries that are used by the // app's library defined in CMakeLists.txt via an IMPORTED target. jniLibs.srcDirs = [] } }