React Native:原生模块RNI18nModule尝试覆盖reactnativei18n-没有重复项

时间:2018-12-05 14:44:41

标签: react-native

我目前正在尝试在Android上运行React-Native构建。收到以下错误消息。所有在线资源都指出,如果收到此错误,则MainApplication.java中有重复项。但是,我在MainApplication.java中找不到任何重复项。我试图删除构建文件夹并重新构建,但这似乎不起作用。

还有什么可能导致此错误?

MainApplication.java

package com.PROJECT;

import android.app.Application;

import com.facebook.react.ReactApplication;
import fr.bamlab.rnimageresizer.ImageResizerPackage;
import fr.snapp.imagebase64.RNImgToBase64Package;
import com.imagepicker.ImagePickerPackage;
import com.lugg.ReactNativeConfig.ReactNativeConfigPackage;
import com.idehub.GoogleAnalyticsBridge.GoogleAnalyticsBridgePackage;
import com.dylanvann.fastimage.FastImageViewPackage;
import io.sentry.RNSentryPackage;
import com.dieam.reactnativepushnotification.ReactNativePushNotificationPackage;
import com.i18n.reactnativei18n.ReactNativeI18n;
import com.AlexanderZaytsev.RNI18n.RNI18nPackage;
import com.learnium.RNDeviceInfo.RNDeviceInfo;
import com.zoontek.rndevmenu.RNDevMenuPackage;
import com.rt2zz.reactnativecontacts.ReactNativeContacts;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;

import java.util.Arrays;
import java.util.List;

public class MainApplication extends Application implements ReactApplication {

  private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
    @Override
    public boolean getUseDeveloperSupport() {
      return BuildConfig.DEBUG;
    }

      @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
          new MainReactPackage(),
            new ImageResizerPackage(),
            new RNImgToBase64Package(),
            new ImagePickerPackage(),
            new ReactNativeConfigPackage(),
            new GoogleAnalyticsBridgePackage(),
            new FastImageViewPackage(),
            new RNSentryPackage(),
            new ReactNativePushNotificationPackage(),
            new ReactNativeI18n(),
            new RNI18nPackage(),
            new RNDeviceInfo(),
            new RNDevMenuPackage(),
            new ReactNativeContacts()
      );
    }

    @Override
    protected String getJSMainModuleName() {
      return "index";
    }
  };

  @Override
  public ReactNativeHost getReactNativeHost() {
    return mReactNativeHost;
  }

  @Override
  public void onCreate() {
    super.onCreate();
    SoLoader.init(this, /* native exopackage */ false);
  }
}

2 个答案:

答案 0 :(得分:1)

您尝试两次添加react-native-i18n模块,一个作为旧版本依赖性,另一个作为最新版本依赖性。

import com.i18n.reactnativei18n.ReactNativeI18n;
import com.AlexanderZaytsev.RNI18n.RNI18nPackage;

由于最新的V2名称空间已更改为import com.AlexanderZaytsev.RNI18n.RNI18nPackage;,请删除标题中的import com.i18n.reactnativei18n.ReactNativeI18n;new ReactNativeI18n()中的getPackages()

答案 1 :(得分:1)

删除 导入com.i18n.reactnativei18n.ReactNativeI18n 新的ReactNativeI18n() 。它与 AlexanderZaytsev.RNI18n 基本相同,开发人员只是使用version 2.0更改了名称空间。