我的MainActivity.java文件中的ReactInstanceManager在哪里?

Dan*_*son 10 java react-native

对于这个组件的android安装:https: //github.com/lwansbrough/react-native-camera

第一个安装步骤是:

修改android/app/main/java /.../ MainActivity.java中的ReactInstanceManager.builder()调用链,包括:

.addPackage(新RCTCameraPackage())

但我的MainActivity.java文件位于

android/app/src/main/java/com/.../MainActivity.java
Run Code Online (Sandbox Code Playgroud)

似乎没有任何对ReactInstanceManager的引用.

在这里它是完整的:

package com.app;

import com.facebook.react.ReactActivity;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;

import com.rssignaturecapture.RSSignatureCapturePackage;
import java.util.Arrays;
import java.util.List;

public class MainActivity extends ReactActivity {

    /**
     * Returns the name of the main component registered from JavaScript.
     * This is used to schedule rendering of the component.
     */
    @Override
    protected String getMainComponentName() {
        return "app";
    }

    /**
     * Returns whether dev mode should be enabled.
     * This enables e.g. the dev menu.
     */
    @Override
    protected boolean getUseDeveloperSupport() {
        return BuildConfig.DEBUG;
    }

   /**
   * A list of packages used by the app. If the app uses additional views
   * or modules besides the default ones, add more packages here.
   */
    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
        new RSSignatureCapturePackage(this),
        new MainReactPackage()
      );
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:这似乎与React 0.18的变化有关.这是另一个模块上的类似问题/解决方案:https: //github.com/marcishilling/react-native-image-picker/issues/74

我已尝试对此模块应用相同的更改,但没有运气.

ola*_*app 2

我能够通过以下步骤解决相同的问题:

  1. 从github安装了react-native-camera,不是使用“最新”版本,而是使用github链接

    npm 安装react-native-camera@ https://github.com/lwansbrough/react-native-camera.git --save

(谢谢https://github.com/lwansbrough/react-native-camera/issues/164)

  1. 在文件“/node_modules/react-native-camera/android/src/main/AndroidManifest.xml”中,我添加了以下权限

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

    <uses-feature android:name="android.hardware.camera" />

    <uses-feature android:name="android.hardware.camera.autofocus" />

  2. 在文件“/node_modules/react-native-camera/android/src/main/java/com/lwansbrough/RCTCamera/RCTCameraViewManager.java”中我修改了该部分

public class RCTCameraViewManager extends SimpleViewManager

到

public class RCTCameraViewManager extends ViewGroupManager
Run Code Online (Sandbox Code Playgroud)

(感谢 2. 和 3. https://github.com/lwansbrough/react-native-camera/issues/165)

  1. 在文件“/android/app/src/main/java/com/ myapp /MainActivity.java”(不要忘记用正确的路径名交换“myapp”)中,我在“@Override”部分添加了以下行:

    新的 RCTCameraPackage(),

为了看起来像:

@Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
        new RCTCameraPackage(),
        new MainReactPackage());
    }
Run Code Online (Sandbox Code Playgroud)