更新后 react-native-navigation 出错 MainApplication.java
Error in react-native-navigation after updating MainApplication.java
我安装了react native navigation,按照步骤操作。适用于 iOS。不在 android 上。
我在 运行 react-native 运行-android 更新 "MainApplication.java" 文件后收到此错误:
Task :app:compileDebugJavaWithJavac 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 public class MainApplication 扩展
导航应用程序 {
^ 1 个错误
失败:构建失败,出现异常。
出了什么问题:任务“:app:compileDebugJavaWithJavac”执行失败。
Compilation failed; see the compiler error output for details.
尝试:运行 使用 --stacktrace 选项获取堆栈跟踪。 运行 使用 --info 或 --debug 选项以获得更多日志输出。 运行 使用 --scan 以获得完整的见解。
获取更多帮助
4 秒内构建失败
error 应用安装失败。确保你有 Android
开发环境搭建:
https://facebook.github.io/react-native/docs/getting-started.html#android-development-environment。
运行 带有 --verbose 标志的 CLI 以获取更多详细信息。错误:命令失败:
./gradlew app:installDebug -PreactNativeDevServerPort=8081
/home/wilux/rnApp/android/app/src/main/java/com/rnApp/MainApplication.java:17:
错误:MainApplication 不是抽象的并且不会覆盖抽象
NavigationApplication 中的方法 createAdditionalReactPackages() public
class MainApplication 扩展 NavigationApplication {
^ 1 个错误
失败:构建失败,出现异常。
出了什么问题:任务“:app:compileDebugJavaWithJavac”执行失败。
Compilation failed; see the compiler error output for details.
尝试:运行 使用 --stacktrace 选项获取堆栈跟踪。 运行 使用 --info 或 --debug 选项以获得更多日志输出。 运行 使用 --scan 以获得完整的见解。
获取更多帮助
4 秒内构建失败
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();
}
}
这有点摸不着头脑,但对我来说,90% 的 android 构建问题(尤其是当您一直在修改本机文件时)都可以通过执行 gradle 通过以下任一方式清理任务:
- 正在切换到项目的 android 目录 (
cd android
)
- 运行 gradlew clean (Windows:
.\gradlew.bat clean
OSX/Linux: ./gradlew clean
)
- 尝试重建
我安装了react native navigation,按照步骤操作。适用于 iOS。不在 android 上。 我在 运行 react-native 运行-android 更新 "MainApplication.java" 文件后收到此错误:
Task :app:compileDebugJavaWithJavac 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 public class MainApplication 扩展 导航应用程序 { ^ 1 个错误
失败:构建失败,出现异常。
出了什么问题:任务“:app:compileDebugJavaWithJavac”执行失败。
Compilation failed; see the compiler error output for details.
尝试:运行 使用 --stacktrace 选项获取堆栈跟踪。 运行 使用 --info 或 --debug 选项以获得更多日志输出。 运行 使用 --scan 以获得完整的见解。
- 获取更多帮助
4 秒内构建失败
error 应用安装失败。确保你有 Android 开发环境搭建: https://facebook.github.io/react-native/docs/getting-started.html#android-development-environment。 运行 带有 --verbose 标志的 CLI 以获取更多详细信息。错误:命令失败: ./gradlew app:installDebug -PreactNativeDevServerPort=8081 /home/wilux/rnApp/android/app/src/main/java/com/rnApp/MainApplication.java:17: 错误:MainApplication 不是抽象的并且不会覆盖抽象 NavigationApplication 中的方法 createAdditionalReactPackages() public class MainApplication 扩展 NavigationApplication { ^ 1 个错误
失败:构建失败,出现异常。
出了什么问题:任务“:app:compileDebugJavaWithJavac”执行失败。
Compilation failed; see the compiler error output for details.
尝试:运行 使用 --stacktrace 选项获取堆栈跟踪。 运行 使用 --info 或 --debug 选项以获得更多日志输出。 运行 使用 --scan 以获得完整的见解。
- 获取更多帮助
4 秒内构建失败
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();
}
}
这有点摸不着头脑,但对我来说,90% 的 android 构建问题(尤其是当您一直在修改本机文件时)都可以通过执行 gradle 通过以下任一方式清理任务:
- 正在切换到项目的 android 目录 (
cd android
) - 运行 gradlew clean (Windows:
.\gradlew.bat clean
OSX/Linux:./gradlew clean
) - 尝试重建