今天试着在原生应用中引入React Native,本以为按照官网的步骤来做就没问题,结果着实踩了很多坑。现记录下来,防止以后踩同样的坑
一、React Native项目在64位android手机上运行,会提示
"/data/data/com.xxx.xxx/lib-main/libgnustl_shared.so" is 32-bit instead of 64-bit 这个错误。
解决方法:取消掉所有的64位的.so文件,全部加载32位的就可以了,下面是步骤
1.在项目的根目录的 gradle.properties 里面添加一行代码 Android.useDeprecatedNdk=true.
2.在 app的build.gradle 文件里添加以下代码(在android{ defaultConfig{}}中添加):
ndk{
abiFilters "armeabi-v7a","x86"
}
packagingOptions {
exclude "lib/arm64-v8a/libimagepipeline.so"
}
二、Conflict with dependency 'com.google.code.findbugs:jsr305'. Resolved versions for app (3.0.1) and test app (2.0.1) differ
解决方法:在app的build.gradle中添加一下代码:(在android{}中)
configurations.all { resolutionStrategy.force'com.google.code.findbugs:jsr305:1.3.9'}
三、undefined is not an object evaluating 'ReactINternals.ReactCurrentOwner
(据说以前没有这个问题,RN的新版本会有此问题,略坑啊。。。)
解决办法:在项目的根目录运行yarn add react@16.0.0-alpha.12
React Native嵌入原生应用的坑
最新推荐文章于 2022-03-05 11:31:08 发布