Ошибка в реакции-нативной навигации после обновления MainApplication. java - PullRequest
2 голосов
/ 08 января 2020

Я установил реакцию родной навигации и следовал инструкциям. Работает на iOS. Не на android. Я получаю эту ошибку, когда запускаю реактивный собственный запуск - android, после обновления файла "MainApplication. java":

Задача: app: compileDebugJavaWith Javac FAILED

В этой сборке использовались устаревшие функции Gradle, что делает его несовместимым с G radle 6.0. Используйте '--warning-mode all', чтобы показать отдельные предупреждения об устаревании. См. https://docs.gradle.org/5.5/userguide/command_line_interface.html#sec: command_line_warnings 43 выполнимых задач: 2 выполненных, 41 актуальных /home/wilux/rnApp/android/app/src/main/java/com/rnApp/MainApplication.java: 17: ошибка: MainApplication не является абстрактным и не переопределяет абстрактный метод createAdditionalReactPackages () в NavigationApplication publi c класс MainApplication расширяет NavigationApplication {^ 1 error

FAILURE: сборка завершилась с исключением.

  • Что пошло не так: выполнение задачи не выполнено ': app: compileDebugJavaWith Javac'.

    Компиляция не удалась; подробности смотрите в сообщении об ошибке компилятора.

  • Попробуйте: Запустите с параметром --stacktrace, чтобы получить трассировку стека. Запустите с параметром --info или --debug, чтобы получить больше вывода журнала. Запустите --scan, чтобы получить полное представление.

  • Получите дополнительную помощь по https://help.gradle.org

BUILD FAILED in 4s

ошибка Не удалось установить приложение. Убедитесь, что у вас настроена среда разработки Android: https://facebook.github.io/react-native/docs/getting-started.html#android -development-environment . Запустите CLI с флагом --verbose для получения более подробной информации. Ошибка: Команда не выполнена: ./gradlew app: installDebug -PreactNativeDevServerPort = 8081 /home/wilux/rnApp/android/app/src/main/java/com/rnApp/MainApplication.java:17: ошибка: MainApplication не является абстрактным и не переопределяет абстрактный метод createAdditionalReactPackages () в общедоступном классе NavigationApplication. MainApplication расширяет NavigationApplication {^ 1 error

FAILURE: сборка завершилась с исключением.

  • Что пошло не так: Не удалось выполнить задачу »: app: compileDebugJavaWith Javac '.

    Компиляция не удалась; подробности смотрите в сообщении об ошибке компилятора.

  • Попробуйте: Запустите с параметром --stacktrace, чтобы получить трассировку стека. Запустите с параметром --info или --debug, чтобы получить больше вывода журнала. Запустите --scan, чтобы получить полную информацию.

  • Получите дополнительную помощь по https://help.gradle.org

BUILD FAILED in 4s

at checkExecSyncError (child_process.js:610:11)
at execFileSync (child_process.js:628:15)
at runOnAllDevices (/home/wilux/rnApp/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/runOnAllDevices.js:94:39)
at buildAndRun (/home/wilux/rnApp/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/index.js:158:41)
at /home/wilux/rnApp/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/index.js:125:12
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async Command.handleAction (/home/wilux/rnApp/node_modules/react-native/node_modules/@react-native-community/cli/build/index.js:164:9)

Странно то, что это работало, когда я обновляю файлы "android / build.gradle" и "android / app / build.gradle"!

Вот обновленный файл (MainApplication. java):

package com.rnApp;

import android.app.Application;
import android.content.Context;
import com.facebook.react.PackageList;
import com.facebook.react.ReactApplication;
import com.oblador.vectoricons.VectorIconsPackage;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.soloader.SoLoader;
import com.reactnativenavigation.NavigationApplication;
import com.reactnativenavigation.react.NavigationReactNativeHost;
import com.reactnativenavigation.react.ReactGateway;
import java.lang.reflect.InvocationTargetException;
import java.util.List;

public class MainApplication extends NavigationApplication {
    
        @Override
        protected ReactGateway createReactGateway() {
            ReactNativeHost host = new NavigationReactNativeHost(this, isDebug(), createAdditionalReactPackages()) {
                @Override
                protected String getJSMainModuleName() {
                    return "index";
                }
            };
            return new ReactGateway(this, isDebug(), host);
        }
    
        @Override
        public boolean isDebug() {
            return BuildConfig.DEBUG;
        }
    
        protected List<ReactPackage> getPackages() {
            // Add additional packages you require here
            // No need to add RnnPackage and MainReactPackage
            return Arrays.<ReactPackage>asList(
                // eg. new VectorIconsPackage()
            );
        }
    
        @Override
        public List<ReactPackage> createAdditionalReactPackages() {
            return getPackages();
        }
    }

1 Ответ

1 голос
/ 11 января 2020

Это что-то вроде удара в темноте, но для меня 90% android проблем со сборкой (особенно когда вы изменяли собственные файлы) можно исправить, выполнив задачу очистки gradle одним из следующих способов:

  1. Переход в каталог android вашего проекта (cd android)
  2. Запуск очистки gradlew (Windows: .\gradlew.bat clean OSX / Linux: ./gradlew clean)
  3. Попытка восстановить
...