web-dev-qa-db-ja.com

反応ネイティブバージョン0.60.4へのアップグレード後のAndroidの反応ネイティブ実行に関するエラー

既存のアプリケーションを使用して、react-nativeを0.59.5から0.60.4にアップグレードしています。しかし、以下のような問題に直面しています

* Where:
Build file '/home/bingl/Projects/blackstar/frontend/Android/app/build.gradle'

* What went wrong:
Could not compile build file '/home/bingl/Projects/blackstar/frontend/Android/app/build.gradle'.
> startup failed:
  General error during semantic analysis: Unsupported class file major version 57

  Java.lang.IllegalArgumentException: Unsupported class file major version 57
    at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.Java:184)
    at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.Java:166)
    at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.Java:152)
    at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.Java:273)
    at org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.Java:81)
    at org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeReso

そして私のbuild.gradleは

Android {
    compileSdkVersion 28
    buildToolsVersion "28.0.3"

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    defaultConfig {
        applicationId "com.frontend"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
    }
    splits {
        abi {
            reset()
            enable enableSeparateBuildPerCPUArchitecture
            universalApk false  // If true, also generate a universal APK
            include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
        }
    }
    buildTypes {
        release {
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-Android.txt"), "proguard-rules.pro"
        }
    }
    // applicationVariants are e.g. debug, release
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            // For each separate APK per architecture, set a unique version code as described here:
            // http://tools.Android.com/tech-docs/new-build-system/user-guide/apk-splits
            def versionCodes = ["armeabi-v7a":1, "x86":2, "arm64-v8a": 3, "x86_64": 4]
            def abi = output.getFilter(OutputFile.ABI)
            if (abi != null) {  // null for the universal-debug, universal-release variants
                output.versionCodeOverride =
                        versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
            }
        }
    }

私はこのエラーが何であるかについて全く手がかりがなく、あまり役立つ記事を見つけることができませんでした。私を助けてください。

2
Keannylen

Gradleは現在、openJDK-13を使用したビルドでエラーが発生しているようです。

これが Githubの問題 スレッドです。

端末で次のコマンドを実行して、システムのJavaおよびJDKバージョンのバージョンを確認します。

file /etc/alternatives/Java /etc/alternatives/javac

OR

file `which Java javac`

これにより、システム上の現在のインストールが一覧表示されます。どこかにopenjdk-13が表示されている場合は、openjdk-8にダウングレードする必要があります。

ダウングレードの手順については、この link を確認してください。

0
Nishant Nair