React native 无法确定来自“10”的 java 版本

React native Could not determine java version from '10'

我很难尝试使用 React Native 配置我的模拟器。我已经安装了模拟器,但无法正确 运行 声明:react-native run-android 这是我不断收到的错误。 (p.s。在故障排除中似乎没有解决方案。我尝试更改无效的 gradle-properties)

C:\Users\Dell\AwesomeProject>react-native run-android
Scanning folders for symlinks in C:\Users\Dell\AwesomeProject\node_modules (31ms)
JS server already running.
Building and installing the app on the device (cd android && gradlew.bat installDebug)...

FAILURE: Build failed with an exception.

我遇到了同样的问题。升级到 Ubuntu Bionic 后 Java 10 不受 react-native 支持。

我现在正在使用以下脚本:

#!/bin/bash
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre/
export PATH=$JAVA_HOME/bin:$PATH
react-native run-android

我将 env 路径更改为 Java 8 和 运行 应用程序。

您可以尝试升级您的 gradle 或降级 java ...我希望升级您的 gradle。

正在升级我们的 Gradle

1 .修改android/build.gradle :

在存储库中添加 google()

buildscript {
    repositories {
        jcenter()
        // add google() here
        google()

更新 com.android.tools.build.gradle 至 3.1.0

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
      // classpath 'com.android.tools.build:gradle:2.2.3'
      // update from 2.2.3 to 3.1.0 
      classpath 'com.android.tools.build:gradle:3.1.0'

在依赖项后的存储库中添加 google() :

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
      classpath 'com.android.tools.build:gradle:3.1.0'
    }
    allprojects {
      repositories {
        mavenLocal()
        jcenter()
        // add googgle() here
        google()
  1. 将 android.enableAapt2=false 添加到 android/gradle.properties

    android.enableAapt2=false // < --- 在此处添加 android.useDeprecatedNdk=真 MYAPP_RELEASE_STORE_FILE=我的发布-key.keystore MYAPP_RELEASE_KEY_ALIAS=我的密钥别名

  2. 更新 android/gradle/wrapper/gradle-wrapper.properties 中的 gradle 版本:

    // 从版本 2.14.1 开始 distributionUrl=https://services.gradle.org/distributions/gradle-2.14.1-all.zip // 更改为 4.4 distributionUrl=https://services.gradle.org/distributions/gradle-4.4-all.zip

  3. 运行react-native 运行-android。 (这可能需要一段时间,因为它将下载更新的 gradle 版本。)