android应用程序的任务':app:processDebugManifest'的React-native执行失败
Posted
技术标签:
【中文标题】android应用程序的任务\':app:processDebugManifest\'的React-native执行失败【英文标题】:React-native Execution failed for task ':app:processDebugManifest' for android appandroid应用程序的任务':app:processDebugManifest'的React-native执行失败 【发布时间】:2022-01-12 02:18:32 【问题描述】:我正在尝试在 theM1 Mac air 上运行 react-native android 应用程序。 我正在运行 react-native 0.63.4。 适用于苹果芯片的 Android Studio 2020.3.1。 ios 应用程序运行良好,但我的 android 应用程序行为异常。 首先,每当我尝试使用“npx react-native run-android”通过 cli 运行应用程序时,我都会收到此错误
> Configure project :react-native-reanimated
> Task :app:processDebugManifest FAILED
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.3/userguide/command_line_interface.html#sec:command_line_warnings
127 actionable tasks: 127 executed
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDebugManifest'.
> Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not "opens java.io" to unnamed module @70673583
* 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 8s
error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup. Run CLI with --verbose flag for more details.
Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
这发生在它配置 react-native firebase 并且无法配置 react-native-reanimated 之后。
这就是它现在变得有趣的地方。最初在 android studio 中打开项目给了我一个错误,它无法找到节点。我通过在终端中打开 android studio 来解决这个问题。 就构建应用程序而言,在 android studio 中一切都很好。该应用程序已安装,但它无法或什至没有尝试连接到 Metro 捆绑程序(我在尝试运行该应用程序之前就开始了它)。我尝试在应用程序中重新加载,它立即解决了一个错误,指出它无法连接到开发服务器。在捆绑器中重新加载本身会在捆绑器中解决,警告我没有连接任何设备。
任何想法可能导致所有这些错误?
【问题讨论】:
【参考方案1】:已解决 此问题是由于 android studio 指向尚不支持的 java 16。 以下错误的证据:
Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not "opens java.io" to unnamed module @70673583
解决方案:删除 java 16,使用 java 8 或 11。以下步骤适用于 Mac OS 用户
cd /Library/Java/JavaVirtualMachines
然后你想列出这个文件夹中的所有 jdk 版本使用
ls
现在,如果您看到任何格式为 jdk-16.x.x.jdk 的文件,请按如下方式将其删除
sudo rm -rf jdk-16.0.2.jdk
就我而言,我有 jdk-16.0.2.jdk 以及 jdk-11 和 jdk-8
执行此操作后,请确保您通过运行安装了适当版本的 java
java --version
我相信任何低于 16 的版本都足够了。
在这个堆栈溢出问题上找到了解决方案:How do I uninstall the Java JDK in macOS?
现在像往常一样在你的项目目录中运行你的项目:
npx react-native run-android
【讨论】:
以上是关于android应用程序的任务':app:processDebugManifest'的React-native执行失败的主要内容,如果未能解决你的问题,请参考以下文章
任务 ':app:dexDebug' Android Studio 执行失败
任务:app:bundleReleaseJsAndAssets 失败 - React Native - Android
使用新 Android Studio 项目的任务“:app:dexDebug”的 Gradle 执行失败
Android-Cordova 10.0.1 任务:app:processDebugGoogleServices 失败
反应本机android任务:app:transformClassesWithMultidexlistForRelease FAILED