阅前须知: 惨痛经历 如果你的项目第三方库是npm装的,那么后续的第三方库装卸一定请只用npm,不可用yarn或者其他的,yarn也是如此,不可用npm;因为有些修改涉及到第三方库文件的处理,混用会导致你改过的地方被覆盖
1. react-native 执行react-native run-android时,node闪退 虚拟机|真机 报错: Unable to load script
通常是metro-config的黑名单配置出现了问题
解决方法
\node_modules\metro-config\src\defaults\blacklist.js 文件中找到
var sharedBlacklist = [
/node_modules[/\\]react[/\\]dist[/\\].*/,
/website\/node_modules\/.*/,
/heapCapture\/bundle\.js/,
/.*\/__tests__\/.*/
];
并将列表中的第一句更新
var sharedBlacklist = [
/node_modules[\/\\]react[\/\\]dist[\/\\].*/,
/website\/node_modules\/.*/,
/heapCapture\/bundle\.js/,
/.*\/__tests__\/.*/
];
2. 使用微信的分享库react-native-wechat 时 报错为 :
错误: 找不到符号 public void invoke(@Nullable …
解决方法:
还是版本不一致的问题,导致没有空检查这个功能,可以直接在源码中注释掉相关引用和修饰符
将node_modules/react-native-wechat/android/src/main/java/com/theweflex/react/WeChatModule.java 中的
//import android.support.annotation.Nullable;
注释掉,并且将所有@Nullable字段删除 public void invoke( @Nullable Bitmap bitmap) {
3. react-native-video 报错 Could not find com.yqritc:android-scalablevideoview:1.0.4.
解决方法:
将项目升级为最新版本,或者删除后安装指定版本
npm install react-native-video@^5.2.0
虽然说jcenter()用不上了,但是还是请在android/build.gradle 文件中的allprojects 添加上jcenter(),因为这个库在6.0.0版本之前都要检查jcenter
...
allprojects {
repositories {
mavenLocal()
google()
+ jcenter()
mavenCentral()
}
}
...
文章来源
发表评论