【发布时间】:2021-03-07 23:12:01
【问题描述】:
请帮忙!!
我正在开发一个 react-native 应用程序,其中涉及使用本机日历模块。我正在尝试使用 react native 注册此模块,但我不断收到此错误。
这就是我在MainApplication.java 中注册模块的方式:
@Override
protected List<ReactPackage> getPackages() {
List<ReactPackage> packages = new PackageList(this).getPackages();
packages.add(new ModuleRegistryAdapter(mModuleRegistryProvider));
packages.add(new MyAppPackage());
return packages;
}
这是我使用此处的教程创建的 MyAppPackage.java 文件,https://reactnative.dev/docs/native-modules-android#register-the-module-android-specific.:
package com.chowtime; // replace your-app-name with your app’s name
import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class MyAppPackage implements ReactPackage {
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
@Override
public List<NativeModule> createNativeModules(
ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new CalendarModule(reactContext));
return modules;
}
}
注意:此应用程序之前是使用 expo 上的托管工作流创建的,并被弹出到裸工作流中。这是相关文件的目录:
【问题讨论】:
-
我在这里没有发现任何问题,但在我自己的应用程序中,我只是添加了类似 'packages.add(new MyAppPackage());` 的内容。所以只需尝试一件事评论这个
packages.add(new ModuleRegistryAdapter(mModuleRegistryProvider));,停止你的开发服务器,清理并重建你的android项目,然后运行npx react-native run-android
标签: java android react-native expo