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 上未定义的属性“常量”的主要内容,如果未能解决你的问题,请参考以下文章
`react-native-camera` 返回 data.uri 但无法访问图像(没有这样的文件或目录)
无法将 react-native-camera TakePictureResponse 上传到 Firebase 存储
添加 React-Native-Camera 和 React-Native-Push-Notification 后无法构建 React Native