Flutter Error:java.lang.NoSuchFieldError PREFER_HIGHEST_OR_REMOTE_VERSION_NO_FORCE_STAGING [英] Flutter Error: java.lang.NoSuchFieldError PREFER_HIGHEST_OR_REMOTE_VERSION_NO_FORCE_STAGING

查看:1334
本文介绍了Flutter Error:java.lang.NoSuchFieldError PREFER_HIGHEST_OR_REMOTE_VERSION_NO_FORCE_STAGING的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have tried to solve this problem but it keeps giving me the same error.

我使用以下firebase服务:

I use the following firebase services:


  • Firebase Auth

  • Firebase数据库

  • Firebase存储

  • Firebase Messaging

  • Firebase Auth
  • Firebase Database
  • Firebase Storage
  • Firebase Messaging

我希望能解决这个问题,感谢您的帮助,谢谢。

I hope to solve this problem, I appreciate any help, thanks.

屏幕截图:






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

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.

我的Android项目和build.gradle。

My Android project and the 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"
            }
        }
    }
}

Android - >应用程序 - > 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'





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



I updated the versions on Android -> build.gradle. But now it comes out with another error.

更新:

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.


推荐答案

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

I believe that this is due to the fact that half of Google's FlutterFire plugins are using old versions of their Android counterparts. As such, I've specified which versions to use in my app level build.gradle. This probably isn't a permanent solution, but seems to have stopped the crashes in the mean time.

在应用程序级别 build.gradle ,将以下内容添加到依赖项

In the app level build.gradle, add the following to 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'

如果有效,请告诉我。

编辑:只添加实现您正在使用的Firebase插件的行。您可以在此处找到每个 的最新版本。

Only add the implementation lines for the Firebase plugins that you are using. You can find the latest version of each here.

这篇关于Flutter Error:java.lang.NoSuchFieldError PREFER_HIGHEST_OR_REMOTE_VERSION_NO_FORCE_STAGING的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆