我一直在嘗試nodejs-mobile-react-native在 Android 上作業,但是當我嘗試構建專案時出現以下錯誤:
> Task :nodejs-mobile-react-native:mergeDebugNativeLibs FAILED
Execution failed for task ':nodejs-mobile-react-native:mergeDebugNativeLibs'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.MergeNativeLibsTask$MergeNativeLibsTaskWorkAction
> 2 files found with path 'lib/arm64-v8a/libnode.so' from inputs:
- /Users/<me>/projects/react-native/<my project>/node_modules/nodejs-mobile-react-native/android/build/intermediates/merged_jni_libs/debug/out/arm64-v8a/libnode.so
- /Users/<me>/Projects/react-native/<my project>/node_modules/nodejs-mobile-react-native/android/build/intermediates/cxx/Debug/4a1j5e35/obj/arm64-v8a/libnode.so
If you are using jniLibs and CMake IMPORTED targets, see
https://developer.android.com/r/tools/jniLibs-vs-imported-targets
我有這個專案的設定:
"react": "^17.0.2",
"react-native": "^0.66.3",
"nodejs-mobile-react-native": "^0.6.3",
Gradle version 7.0.2
Java version 11
NDK version 21.4.7075529
CMake version 3.18.1
Android SDK Platform 31 (12)
我在我的中嘗試了這些設定(和沒有)app/build.gradle但它沒有用
packagingOptions {
pickFirst 'lib/armeabi-v7a/libnode.so'
pickFirst 'lib/arm64-v8a/libnode.so'
pickFirst 'lib/x86/libnode.so'
pickFirst 'lib/x86_64/libnode.so'
}
uj5u.com熱心網友回復:
我找到了解決方案。
問題是packagingOptions必須在這里應用到nodejs-mobile-react-native專案的 gradle 檔案
/node_modules/nodejs-mobile-react-native/android/build.gradle
為了自動做到這一點,我必須創建一個添加這些行的 bash 腳本
packagingOptions {
pickFirst 'lib/armeabi-v7a/libnode.so'
pickFirst 'lib/arm64-v8a/libnode.so'
pickFirst 'lib/x86_64/libnode.so'
pickFirst 'lib/x86/libnode.so'
}
正上方lintOptions并使用檔案的postinstall腳本呼叫該 bash 腳本package.json。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/382358.html
