Flutter Error:java.lang.NoSuchFieldError PREFER_HIGHEST_OR_REMOTE_VERSION_NO_FORCE_STAGING

Dom*_*oMG 4 java android dart firebase flutter

我试图解决这个问题,但它一直给我同样的错误.

我使用以下firebase服务:

  • Firebase Auth
  • Firebase数据库
  • Firebase存储
  • Firebase消息传递

我希望能解决这个问题,感谢任何帮助,谢谢.

截图:

在此输入图像描述

在这里,我向您展示控制台运行

Launching lib\main.dart on Android SDK built for x86 in debug mode...
[{"event":"app.progress","params":{"appId":"870bf9fe-6ecb-481e-9990-a8f0123d691f","id":"0","progressId":null,"message":"Initializing gradle..."}}]Initializing gradle...

Resolving dependencies...
Running 'gradlew assembleDebug'...
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
Built build\app\outputs\apk\debug\app-debug.apk.
Installing build\app\outputs\apk\app.apk...
I/flutter (14362): Load es
Syncing files to device Android SDK built for x86...
D/        (14362): HostConnection::get() New Host Connection established 0x9ffa3dc0, tid 14398
D/EGL_emulation(14362): eglMakeCurrent: 0x9fd86c00: ver 3 0 (tinfo 0x9fff1110)
W/zygote  (14362): Unsupported class loader
W/zygote  (14362): Skipping duplicate class check due to unsupported classloader
I/DynamiteModule(14362): Considering local module com.google.android.gms.firebase_database:4 and remote module com.google.android.gms.firebase_database:6
I/DynamiteModule(14362): Selected remote version of com.google.android.gms.firebase_database, version >= 6
V/DynamiteModule(14362): Dynamite loader version >= 2, using loadModule2NoCrashUtils
W/zygote  (14362): Unsupported class loader
W/zygote  (14362): Skipping duplicate class check due to unsupported classloader
E/AndroidRuntime(14362): FATAL EXCEPTION: TokenRefresher
E/AndroidRuntime(14362): Process: com.***********, PID: 14362
E/AndroidRuntime(14362): java.lang.NoSuchFieldError: No static field PREFER_HIGHEST_OR_REMOTE_VERSION_NO_FORCE_STAGING of type Lcom/google/android/gms/dynamite/DynamiteModule$VersionPolicy; in class Lcom/google/android/gms/dynamite/DynamiteModule; or its superclasses (declaration of 'com.google.android.gms.dynamite.DynamiteModule' appears in /data/app/com.*********-Bx6_KiELmKKW1pc-YChs7w==/base.apk)
E/AndroidRuntime(14362):    at com.google.android.gms.flags.FlagValueProvider.initialize(Unknown Source:7)
E/AndroidRuntime(14362):    at com.google.android.gms.flags.FlagRegistry.initialize(Unknown Source:4)
E/AndroidRuntime(14362):    at com.google.firebase.auth.internal.zzx.initialize(Unknown Source:3)
E/AndroidRuntime(14362):    at com.google.firebase.auth.internal.zzt.run(Unknown Source:14)
E/AndroidRuntime(14362):    at android.os.Handler.handleCallback(Handler.java:790)
E/AndroidRuntime(14362):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(14362):    at android.os.Looper.loop(Looper.java:164)
E/AndroidRuntime(14362):    at android.os.HandlerThread.run(HandlerThread.java:65)
W/DynamiteModule(14362): Local module descriptor class for com.google.firebase.auth not found.
W/BiChannelGoogleApi(14362): [FirebaseAuth: ] getGoogleApiForMethod() returned Gms: com.google.firebase.auth.api.internal.zzal@d55aa74
W/DynamiteModule(14362): Local module descriptor class for com.google.firebase.auth not found.
I/FirebaseAuth(14362): [FirebaseAuth:] Loading module via FirebaseOptions.
I/FirebaseAuth(14362): [FirebaseAuth:] Preparing to create service connection to gms implementation
D/EGL_emulation(14362): eglMakeCurrent: 0x9fd86c60: ver 3 0 (tinfo 0x89b36690)
D/FirebaseAuth(14362): Notifying id token listeners about user ( oi1ngjUXDpWPIBaen7po8T5vE8R2 ).
D/FirebaseApp(14362): Notifying auth state listeners.
D/FirebaseApp(14362): Notified 1 auth state listeners.
D/NetworkSecurityConfig(14362): No Network Security Config specified, using platform default
I/zygote  (14362): Do partial code cache collection, code=61KB, data=44KB
I/zygote  (14362): After code cache collection, code=61KB, data=44KB
I/zygote  (14362): Increasing code cache capacity to 256KB
D/FlutterNativeView(14362): FlutterView.send called on a detached view, channel=plugins.flutter.io/firebase_database
I/FirebaseAuth(14362): [FirebaseAuth:] Loading module via FirebaseOptions.
I/FirebaseAuth(14362): [FirebaseAuth:] Preparing to create service connection to gms implementation
Lost connection to device.
Run Code Online (Sandbox Code Playgroud)

我的Android项目和build.gradle.

Android - > build.grandle

buildscript {
    repositories {
        google()
        jcenter()
    }

    dependencies {
          classpath 'com.android.tools.build:gradle:3.2.0'
          classpath 'com.google.gms:google-services:4.1.0'
        //classpath 'com.android.tools.build:gradle:3.1.2'
        //classpath 'com.google.gms:google-services:3.2.1' 
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

subprojects {
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex') ) {
                details.useVersion "26.1.0"
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Android - > App - > src - > build.grandle

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = '1.0'
}

apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

android {
    compileSdkVersion 27

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        applicationId "com.*************"
        minSdkVersion 16
        targetSdkVersion 27
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.google.firebase:firebase-core:16.0.4'
}
apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)



我更新了Android上的版本 - > build.gradle.但现在又出现了另一个错误.

更新:

Launching lib\main.dart on Android SDK built for x86 in debug mode...
Initializing gradle...
Resolving dependencies...
* Error running Gradle:
Exit code 1 from: C:\Users\*******\AndroidStudioProjects\**********\*********\android\gradlew.bat app:properties:
Starting a Gradle Daemon (subsequent builds will be faster)


FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'android'.
> Could not resolve all artifacts for configuration ':classpath'.
   > Could not resolve com.android.tools.build:gradle:3.2.0.
     Required by:
         project :
      > Could not resolve com.android.tools.build:gradle:3.2.0.
         > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.2.0/gradle-3.2.0.pom'.
            > Could not HEAD 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.2.0/gradle-3.2.0.pom'.
               > dl.google.com
   > Could not resolve com.google.gms:google-services:4.1.0.
     Required by:
         project :
      > Could not resolve com.google.gms:google-services:4.1.0.
         > Could not get resource 'https://dl.google.com/dl/android/maven2/com/google/gms/google-services/4.1.0/google-services-4.1.0.pom'.
            > Could not HEAD 'https://dl.google.com/dl/android/maven2/com/google/gms/google-services/4.1.0/google-services-4.1.0.pom'.
               > dl.google.com
      > Could not resolve com.google.gms:google-services:4.1.0.
         > Could not get resource 'https://jcenter.bintray.com/com/google/gms/google-services/4.1.0/google-services-4.1.0.pom'.
            > Could not HEAD 'https://jcenter.bintray.com/com/google/gms/google-services/4.1.0/google-services-4.1.0.pom'.
               > Connect to jcenter.bintray.com:443 [jcenter.bintray.com/159.122.18.156] failed: Connection timed out: connect

* 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 54s

Finished with error: Please review your Gradle project setup in the android/ folder.
Run Code Online (Sandbox Code Playgroud)

bea*_*rdo 11

我相信这是因为Google的一半FlutterFire插件使用的是旧版本的Android版本.因此,我已经指定了在我的应用程序级别使用哪些版本build.gradle.这可能不是一个永久性的解决方案,但似乎已经在同一时间停止了崩溃.

在应用级别中build.gradle,将以下内容添加到dependencies:

implementation 'com.google.firebase:firebase-core:16.0.4'
implementation 'com.google.firebase:firebase-analytics:16.0.4'
implementation 'com.google.firebase:firebase-auth:16.0.4'
implementation 'com.google.firebase:firebase-firestore:17.1.1'
implementation 'com.google.firebase:firebase-functions:16.1.1'
implementation 'com.google.firebase:firebase-messaging:17.3.3'
implementation 'com.google.firebase:firebase-storage:16.0.3'
Run Code Online (Sandbox Code Playgroud)

让我知道这个是否奏效.

编辑:仅添加implementation您正在使用的Firebase插件的行.您可以在这里找到每个版本的最新版本.