【问题标题】:method does not override or implement a method from a supertype (:app:compileDebugJavaWithJavac)方法不会覆盖或实现超类型中的方法 (:app:compileDebugJavaWithJavac)
【发布时间】:2016-08-09 06:16:54
【问题描述】:

运行命令 react-native run-android 时出现以下错误。可能是什么问题?

:app:compileDebugJavaWithJavacC:\Users\Deeksha Gupta\git\pe-gold-native\android\app\src\main\java\com\pegoldnative\MainActivity.java:39: 错误:方法没有覆盖或实现超类型中的方法 @Override ^ 1 错误失败 FAILURE:构建失败并出现异常。任务 ':app:compileDebugJavaWithJavac' 执行失败

MainActivity.java

  package com.pegoldnative;

  import com.facebook.react.ReactActivity;
  import com.horcrux.svg.RNSvgPackage;
  import io.realm.react.RealmReactPackage;
  import com.brentvatne.react.ReactVideoPackage;
  import com.facebook.react.ReactPackage;
  import com.facebook.react.shell.MainReactPackage;

  import java.util.Arrays;
  import java.util.List;
  import com.oblador.vectoricons.VectorIconsPackage;
  import com.mihir.react.tts.*;
  import com.rnfs.RNFSPackage;
  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 "pegoldnative";
     }

/**
 * 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 MainReactPackage(),
             new RNSvgPackage(),
             new RealmReactPackage(),
             new ReactVideoPackage()
             , new VectorIconsPackage()
            , new RCTTextToSpeechModule()
            , new RNFSPackage()
    );
  }
}

【问题讨论】:

  • 也发布你的代码
  • 您尝试覆盖的第 39 行的函数无法覆盖,您可以发布代码并为我们提供更多见解!

标签: android android-studio react-native


【解决方案1】:

截至您发布此问题的日期,我相信您使用的是react native 0.29 或更高版本。

如果是这样,在react native 0.29 中它引导包的方式已经改变:

https://github.com/facebook/react-native/releases/tag/v0.29.0

现在你有一个MainApplication.java 类,它扩展了Application 并实现了ReactApplication

在那里你可以覆盖getUseDeveloperSupport() 方法。

MainApplication.java

package com.yourapp;

import android.app.Application;
import android.util.Log;

import com.facebook.react.ReactApplication;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;

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

public class MainApplication extends Application implements ReactApplication {

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

    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(          
          new MainReactPackage()
      );
    }
  };

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

【讨论】:

  • 感谢您的回复,我根据新版RN做了修改
  • 当我将我的 react-native 从 27.0 升级到 35.0 时遇到了这个问题;不过那是一个空项目……!!
猜你喜欢
  • 2015-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-16
  • 2013-04-22
  • 2013-10-22
相关资源
最近更新 更多