You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native相机功能报错求助:CameraManager.Aspect未定义及link失败问题

解决React Native Camera在Genymotion上的CameraManager.Aspect Null错误

我之前也碰到过一模一样的问题,本质是react-native-camera的原生模块没正确关联到Android项目——自动链接因为模拟器连接小问题失败,unlink之后自然还是没完成配置。下面是一步步的修复方案:

1. 先搞定Genymotion的ADB连接问题

要让react-native link正常工作,得确保模拟器能被ADB识别:

  • 打开Genymotion的设置,切换到ADB选项卡,选择「Use custom Android SDK tools」,指向你本地的Android SDK路径(比如~/Android/Sdk)
  • 终端执行adb devices,确认模拟器显示在设备列表里(格式类似192.168.56.101:5555 device)
  • 如果没识别,重启ADB服务:adb kill-server && adb start-server,再重启Genymotion

2. 手动链接react-native-camera到Android项目

自动链接失败的话,手动配置是最稳妥的:

步骤1:修改android/settings.gradle

添加以下代码:

include ':react-native-camera'
project(':react-native-camera').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-camera/android')

步骤2:修改android/app/build.gradle

在dependencies代码块里添加:

implementation project(':react-native-camera')

步骤3:修改MainApplication.java

  • 先导入CameraPackage:
import org.reactnative.camera.RNCameraPackage;
  • 然后在getPackages()方法中注册这个包:
@Override
protected List<ReactPackage> getPackages() {
    return Arrays.asList(
            new MainReactPackage(),
            new RNCameraPackage() // 添加这一行
    );
}

3. 补充Android权限和相机配置

确保android/app/src/main/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" />

如果你的React Native版本较新,还需要在android/app/build.gradle的defaultConfig里添加一行:

android {
    ...
    defaultConfig {
        ...
        missingDimensionStrategy 'react-native-camera', 'general'
    }
}

4. 清理并重建项目

完成所有配置后,执行以下命令彻底重建:

cd android && ./gradlew clean
cd .. && react-native run-android

这样操作后,React Native就能正确找到CameraManager的常量,CameraManager.Aspect为null的错误应该就消失了。

内容的提问来源于stack exchange,提问作者Vidya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:19:42