阅前须知:
惨痛经历 如果你的项目第三方库是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.
解决方法:
  1. 将项目升级为最新版本,或者删除后安装指定版本

npm install react-native-video@^5.2.0

  1. 虽然说jcenter()用不上了,但是还是请在android/build.gradle 文件中的allprojects 添加上jcenter(),因为这个库在6.0.0版本之前都要检查jcenter
...
allprojects {
    repositories {
        mavenLocal()
        google()
+       jcenter()
        mavenCentral()
    }
}
...
Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐