将Firebase添加到Flutter项目中并失败:构建失败,出现异常错误

Dol*_*rma 11 flutter

对于[this flutter库] [1],因为barcode scanner我应该将其添加firebase到项目中,但是这样做之后,我得到了这个错误,但是我无法修复

在调试模式下在WAS LX1A上启动lib \ main.dart ...初始化gradle ...解决依赖项... *运行Gradle时出错:ProcessException:进程“ E:\ Projects \ Flutter \ barcode_scanner \ android \ gradlew.bat”已退出异常地:

失败:构建失败,发生异常。

  • 其中:构建文件'E:\ Projects \ Flutter \ barcode_scanner \ android \ app \ build.gradle'行:14

  • 出了什么问题:评估项目':app'时发生问题。

    ASCII码

  • 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。与--scan一起运行以获取完整的见解。

  • https://help.gradle.org上获得更多帮助

在6秒内建立失败指令:E:\ Projects \ Flutter \ barcode_scanner \ android \ gradlew.bat app:properties

错误结束:请检查android /文件夹中的Gradle项目设置。

第14行是:

apply plugin: 'com.android.application'
Run Code Online (Sandbox Code Playgroud)

我不确定是什么问题,这是我对此的实现

pabspec.yaml 内容:

version: 1.0.0+1
environment:
  sdk: '>=2.0.0-dev.28.0 <3.0.0'

dependencies:
  flutter:
    sdk: flutter
  firebase_core: ^0.4.0
  ...
...
Run Code Online (Sandbox Code Playgroud)

android/build.gradle 内容:

buildscript {
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'com.google.gms:google-services:4.3.0'
    }
}

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
}
Run Code Online (Sandbox Code Playgroud)

android/app/build.gradle 内容:

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.")
}

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

android {
    compileSdkVersion 28

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "barcodescanner.pishguy.barcode_scanner"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    testImplementation 'junit:junit:4.12'
    implementation 'com.google.firebase:firebase-core:17.0.1'
    androidTestImplementation 'androidx.test:runner:1.3.0-alpha01'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0-alpha01'
}
apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)

运行flutter命令:

E:\Projects\Flutter\barcode_scanner>flutter pub get
Running "flutter pub get" in barcode_scanner...                     2.7s


  [1]: https://github.com/facundomedica/fast_qr_reader_view
Run Code Online (Sandbox Code Playgroud)

nam*_*mnh 28

有有问题的“com.google.gms:谷歌服务:4.3.0”。
切换到'com.google.gms:google-services:4.2.0',它对我有用


Dav*_* B. 6

这是我同样的问题;我设法解决了这个问题。

这是我对代码所做的更改:

在 AppName/Android/gradle/build.gradle 上:

buildscript {
    ext.kotlin_version = '1.3.50' //had to changed it previously 1.2.71
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.1' //had to changed previously 3.2.1
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:4.3.2'
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在 AppName/Android/gradle/wrapper/gradle-wrapper.properties 我刚刚改变了这一行:

distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip //it was peviously gradle-4.10.2-all.zip
Run Code Online (Sandbox Code Playgroud)

在所有这些更改之后,我的应用程序可以正常工作。