Android React Native 应用程序在调用 getUserMedia WebRTC 时崩溃

Android React Native app crashes on getUserMedia WebRTC call

我已经调试了好几天了,不再有很多选择,因此是一个长期问题 - 我正在使用 ConnectyCube WebRTC 视频调用 package 用于 React Native。我还尝试使用 react-native-webrtc 包从我的 Android 设备流式传输视频。

当我使用这两个包时,我的应用程序在调用 getUserMedia 方法时崩溃,没有任何日志或错误。我必须重新构建应用程序才能使用它。

Here 是我之前的 post,它描述了我之前遇到的问题 - 但是如果你从上面的 link 下载并构建 ConnectyCubes 应用程序,他们的应用程序可以工作 - 我无法弄清楚为什么我的没有。

所以我的问题是,是否有任何我应该检查的与 React Native 中的 getUserMedia 调用相关的东西可能会阻止它工作?

我正在使用:

RN v0.59.9 
gradle wrapper 5.4.1 
classpath(“com.android.tools.build:gradle:3.4.1”)
buildToolsVersion = “28.0.3”
compileSdkVersion = 28

我已联系支持,但还没有解决。

奇怪的是,我无法在函数的某些点记录 session 参数。提前致谢。

const getUserMedia = session => {
  console.log(session); // logs here 
  return new Promise((resolve, reject) => {
    console.log(session); // but not here
    session.getUserMedia({
      audio: true,
      video: { facingMode: 'user' }
    }, function (error, stream) {
      console.log(error, stream) // or here
      error ? reject(error) : resolve(stream);
    });
  });
}

更新

上述功能的问题可能是由于某种原因,在控制台打印出任何内容之前发生崩溃。

已通过删除 gradle 缓存和 运行 npm i 解决此问题,如下所述:

How to clear gradle cache?