1. react-native 执行react-native run-android时,node闪退 虚拟机|真机 报错: Unable to load script阅前须知:
惨痛经历 如果你的项目第三方库是npm装的,那么后续的第三方库装卸一定请只用npm,不可用yarn或者其他的,yarn也是如此,不可用npm;因为有些修改涉及到第三方库文件的处理,混用会导致你改过的地方被覆盖
通常是metro-config的黑名单配置出现了问题
解决方法node_modulesmetro-configsrcdefaultsblacklist.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) {
- 将项目升级为最新版本,或者删除后安装指定版本
npm install react-native-video@^5.2.0
- 虽然说jcenter()用不上了,但是还是请在android/build.gradle 文件中的allprojects 添加上jcenter(),因为这个库在6.0.0版本之前都要检查jcenter
...
allprojects {
repositories {
mavenLocal()
google()
+ jcenter()
mavenCentral()
}
}
...



