React Native - 任务执行失败':app:compileDebugJavaWithJavac'

时间:2018-03-22 17:40:14

标签: android react-native-android

我犯了构建我的React Native项目的错误,只在IOS模拟器上进行测试。我已经解决了当我最终尝试在Android Studio中构建项目时抛出的大部分错误,但仍有三个错误让我疯狂。

1)

Error:(38, 3) error: method does not override or implement a method from a supertype

2)

Error:(41, 12) error: cannot find symbol method onRequestPermissionsResult(int,String[],int[])

3)

 Error:Execution failed for task :app:compileDebugJavaWithJavac.
> Compilation failed; see the compiler error output for details.

我认为前两个错误是指MainApplication.java

中的这个子类
 @Override
  public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
      CalendarEventsPackage.onRequestPermissionsResult(requestCode, permissions, grantResults);
      super.onRequestPermissionsResult(requestCode, permissions, grantResults);
  }

以下是上下文文件的其余部分:

package com.fit.fitmobile;

import android.support.multidex.MultiDexApplication;

import com.facebook.react.ReactPackage;

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

// Needed for `react-native link`
// import com.facebook.react.ReactApplication;
import com.geektime.rnonesignalandroid.ReactNativeOneSignalPackage;
import com.calendarevents.CalendarEventsPackage;
import com.airbnb.android.react.maps.MapsPackage;

public class MainApplication extends MultiDexApplication {

  // Needed for `react-native link`
  public List<ReactPackage> getPackages() {
    return Arrays.<ReactPackage>asList(
        // Add your own packages here!
        // TODO: add cool native modules

        // Needed for `react-native link`
//         new MainReactPackage(),
            new ReactNativeOneSignalPackage(),
            new CalendarEventsPackage(),
            new MapsPackage(),
            new CalendarEventsPackage(),
            new ReactNativeOneSignalPackage()
    );
  }

  // Code for target SDK versions 23 and over.
  @Override
  public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
      CalendarEventsPackage.onRequestPermissionsResult(requestCode, permissions, grantResults);
      super.onRequestPermissionsResult(requestCode, permissions, grantResults);
  }
}

第三个错误我已经研究并尝试了3天的调试,但没有取得任何进展。如果有人有任何意见,我将永远感激不尽!

1 个答案:

答案 0 :(得分:0)

onRequestPermissionsResult不适用于Application类。您必须在Activity类中覆盖它。请查看docs.

此处您还可以获得sample implementation.