Приложение строится не на устройстве Android, а на эмуляторе - PullRequest
0 голосов
/ 19 февраля 2020

Я пытаюсь создать приложение на моем Android устройстве, и оно не работает. Я проверил его на симуляторе iOS и эмуляторе Android, и оба, кажется, работают нормально, чего я не могу понять.

Я использую следующее project/android/app/build.gradle:

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    defaultConfig {
        ...
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        missingDimensionStrategy "RNN.reactNativeVersion", "reactNative60"
        versionCode 1
        versionName "1.0"
        multiDexEnabled true // This is for method limit
    }

Я запускаю react-native run-android --deviceId <device-id> и получаю следующую ошибку:

project/node_modules/react-native-navigation/lib/android/app/src/reactNative62/java/reactnativenavigation/react/JsDevReloadHandlerFacade.java:7: error: JsDevReloadHandlerFacade is not abstract and does not override abstract method onSuccess(NativeDeltaClient) in DevBundleDownloadListener
public class JsDevReloadHandlerFacade implements DevBundleDownloadListener, NavigationDevBundleDownloadListener {
       ^
project/node_modules/react-native-navigation/lib/android/app/src/reactNative62/java/reactnativenavigation/react/ReloadHandlerFacade.java:8: error: method does not override or implement a method from a supertype
    @Override
    ^
project/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/react/ReloadHandler.java:3: error: ReloadHandler is not abstract and does not override abstract method onSuccess(NativeDeltaClient) in DevBundleDownloadListener
public class ReloadHandler extends ReloadHandlerFacade implements JsDevReloadHandler.ReloadListener {
       ^
project/node_modules/react-native-navigation/lib/android/app/src/reactNative62/java/reactnativenavigation/react/DevBundleDownloadListenerAdapter.java:7: error: DevBundleDownloadListenerAdapter is not abstract and does not override abstract method onSuccess(NativeDeltaClient) in DevBundleDownloadListener
public class DevBundleDownloadListenerAdapter implements DevBundleDownloadListener, NavigationDevBundleDownloadListener {
       ^
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
4 errors

> Task :react-native-navigation:compileReactNative62DebugJavaWithJavac FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-navigation:compileReactNative62DebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 29s

Для двойной проверки я исследовал файл

project/android/app/src/main/java/ar/com/laen/odisi/mobileapp/MainApplication.java

и я Ctrl + щелкнул по классу com.reactnativenavigation.react.NavigationReactNativeHost (в Android Studio). Он перенаправил меня в файл

project/node_modules/react-native-navigation/lib/android/app/src/reactNative60/java/com/reactnativenavigation/react/NavigationReactNativeHost.java

, что довольно странно, поскольку в приведенной выше ошибке я вижу, что ошибки связаны с project/node_modules/react-native-navigation/lib/android/app/src/reactNative62.


Environment

  • React Native Navigation version: 4.8.1
  • React Native версия: 0.61.2
  • Платформа (ы) (iOS, Android или обе? ): Android
  • Информация об устройстве (Симулятор / Устройство? Версия ОС? Отладка / Выпуск?): Устройство, Android 9,
...