首页 > 解决方案 > Android:错误:找不到符号包。添加(新 MyAppPackage())

问题描述

请帮忙!!

我正在开发一个涉及使用本机日历模块的 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 上的托管工作流创建的,并被弹出到裸工作流中。这是相关文件的目录:

在此处输入图像描述

标签: javaandroidreact-nativeexpo

解决方案


我遇到了同样的错误。似乎有关如何在本机反应中创建/使用本机模块的文档缺少一步。

在 MainApplication.java 文件中,您需要导入“MyAppPackage”。

import com.your-app-name.MyAppPackage;

如果不将它导入“MainApplication”文件,它将不知道 MyAppPackage 指的是什么,因此找不到符号错误。


推荐阅读