ReactInstanceManager在我的MainActivity.java文件中的什么位置?
对于此组件的android安装: 第一个安装步骤是: 修改中的ReactInstanceManager.builder()调用链 android/app/main/java/../MainActivity.java包括: .addPackage(新的RCTCameraPackage()) 但是我的MainActivity.java文件位于ReactInstanceManager在我的MainActivity.java文件中的什么位置?,java,react-native,Java,React Native,对于此组件的android安装: 第一个安装步骤是: 修改中的ReactInstanceManager.builder()调用链 android/app/main/java/../MainActivity.java包括: .addPackage(新的RCTCameraPackage()) 但是我的MainActivity.java文件位于 android/app/src/main/java/com/.../MainActivity.java 似乎没有任何对ReactInstanceManag
android/app/src/main/java/com/.../MainActivity.java
似乎没有任何对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()
);
}
}
package.com.app;
导入com.facebook.react.ReactActivity;
导入com.facebook.react.ReactPackage;
导入com.facebook.react.shell.MainReactPackage;
导入com.rssignaturecapture.rssignaturecapture包;
导入java.util.array;
导入java.util.List;
公共类MainActivity扩展了ReactActivity{
/**
*返回从JavaScript注册的主组件的名称。
*这用于计划组件的渲染。
*/
@凌驾
受保护的字符串getMainComponentName(){
返回“应用程序”;
}
/**
*返回是否应启用开发模式。
*这将启用例如“开发”菜单。
*/
@凌驾
受保护的布尔getUseDeveloperSupport(){
返回BuildConfig.DEBUG;
}
/**
*应用程序使用的包的列表。如果应用程序使用其他视图
*或者除了默认的模块之外,在这里添加更多的包。
*/
@凌驾
受保护的列表getPackages(){
返回数组.asList(
新的RSSignatureCapturePackage(本),
新的main包()
);
}
}
编辑:
这似乎与反应0.18的变化有关
以下是另一个模块上的类似问题/解决方案:
我也尝试过将相同的更改应用于此模块,但没有成功。这与React Native 0.18中所做的更改有关: 为了解决这个问题,我必须确保在正确的位置导入包:
import com.lwansbrough.RCTCamera.RCTCameraPackage;
并在包列表中引用:
new RCTCameraPackage(),
像这样:
package com.myapp;
import com.facebook.react.ReactActivity;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.lwansbrough.RCTCamera.RCTCameraPackage; // IMPORT REACT-NATIVE-CAMERA
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 "myapp";
}
/**
* 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 RCTCameraPackage(), // ADD REACT-NATIVE_CAMERA
new MainReactPackage()
);
}
}
package com.myapp;
导入com.facebook.react.ReactActivity;
导入com.facebook.react.ReactPackage;
导入com.facebook.react.shell.MainReactPackage;
导入com.lwansbrough.RCTCamera.RCTCameraPackage;//导入本地摄像头
导入java.util.array;
导入java.util.List;
公共类MainActivity扩展了ReactActivity{
/**
*返回从JavaScript注册的主组件的名称。
*这用于计划组件的渲染。
*/
@凌驾
受保护的字符串getMainComponentName(){
返回“myapp”;
}
/**
*返回是否应启用开发模式。
*这将启用例如“开发”菜单。
*/
@凌驾
受保护的布尔getUseDeveloperSupport(){
返回BuildConfig.DEBUG;
}
/**
*应用程序使用的包的列表。如果应用程序使用其他视图
*或者除了默认的模块之外,在这里添加更多的包。
*/
@凌驾
受保护的列表getPackages(){
返回数组.asList(
新建RCTCameraPackage(),//添加REACT-NATIVE\u摄像头
新的main包()
);
}
}
更新:这修复了错误,但模块无法正常工作。我通过以下步骤解决了相同的问题:
公共类RCTCameraViewManager扩展了SimpleViewManager
到
(谢谢你的第2条和第3条)
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new RCTCameraPackage(),
new MainReactPackage());
}
@覆盖
受保护的列表getPackages(){
返回数组.asList(
新的RCTCameraPackage(),
新的MainReactPackage());
}
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new RCTCameraPackage(),
new MainReactPackage());
}