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
我已尝试对此模块应用相同的更改,但没有运气.
我能够通过以下步骤解决相同的问题:
从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)
在文件“/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" />
在文件“/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)
在文件“/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)
| 归档时间: |
|
| 查看次数: |
4402 次 |
| 最近记录: |