react-native-camera 无法读取 android 上未定义的属性“常量”

Posted

技术标签:

【中文标题】react-native-camera 无法读取 android 上未定义的属性“常量”【英文标题】:react-native-camera Cannot read property 'Constants' of undefined on android 【发布时间】:2019-05-25 06:38:24 【问题描述】:

我知道this 问题。 我已经以这种方式安装和配置了 react-native-camera:

yarn add react-native-camera --save
react-native link react-native-camera 

将这些添加到 AndroidManifest.xml

  <uses-permission android:name="android.permission.CAMERA" />
  <uses-permission android:name="android.permission.RECORD_AUDIO"/>
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

我正在使用this基本代码:

 <RNCamera
          ref=ref => 
            this.camera = ref;
          
          style=styles.preview
          type=RNCamera.Constants.Type.back
          flashMode=RNCamera.Constants.FlashMode.on
          androidCameraPermissionOptions=
            title: 'Permission to use camera',
            message: 'We need your permission to use your camera',
            buttonPositive: 'Ok',
            buttonNegative: 'Cancel',
          
          androidRecordAudioPermissionOptions=
            title: 'Permission to use audio recording',
            message: 'We need your permission to use your audio',
            buttonPositive: 'Ok',
            buttonNegative: 'Cancel',
          
          onGoogleVisionBarcodesDetected=( barcodes ) => 
            console.log(barcodes);
          
        />

并得到这个错误:

ExceptionsManager.js:74 TypeError: TypeError: Cannot read property 'Constants' of undefined

【问题讨论】:

尝试手动链接。 我试过了。没有区别。 【参考方案1】:

试试这些:

    通过打开 MainApplication.java(app\src\main\java\com\YourAppName\MainApplication.java) 文件并搜索“相机”来检查 react-native 链接是否有效,如果您发现与相机相关的内容,则表示 react-native 链接有效。如果您没有找到“相机”,则需要手动链接。

    尝试卸载应用程序,关闭所有已启动打包程序的终端,即react-native start。然后通过运行react-native run-android 命令重新安装应用程序。

【讨论】:

我检查了所有的原生文件。所需的修改就在那里。 我按照以下步骤操作,它成功了:1. yarn add react-native-camera 2. react-native link react-native-camera 3. 在 android/app/build.gradle 文件中添加了这一行 missingDimensionStrategy 'react-native-camera', 'general'。然后再次运行 react-native run-android。

以上是关于react-native-camera 无法读取 android 上未定义的属性“常量”的主要内容,如果未能解决你的问题,请参考以下文章

无法读取未定义的属性“oneOfType”

`react-native-camera` 返回 data.uri 但无法访问图像(没有这样的文件或目录)

无法将 react-native-camera TakePictureResponse 上传到 Firebase 存储

React-native-camera 没有出现在屏幕上

添加 React-Native-Camera 和 React-Native-Push-Notification 后无法构建 React Native

gradlew assembleRelease 不适用于 react-native-camera