尝试使用Firebase运行新的flutter应用程序时出现以下错误
Error running Gradle:
ProcessException: Process "...\gradlew.bat" exited abnormally:
我已按照https://firebase.google.com/docs/flutter/setup上的指示进行操作。
google-services.json位于android / app文件夹
在我拥有的app / build.gradle中
buildscript {
ext.kotlin_version = '1.2.71'
repositories {
google()
jcenter()
maven { url 'https://maven.google.com' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.2'
}
}
以及在项目build.gradle中的依赖项
implementation 'com.google.firebase:firebase-analytics:17.2.0'
并在底部
apply plugin: 'com.google.gms.google-services' // Google Play services Gradle plugin
pubspec.yaml具有
firebase_core: ^0.4.0+9
该应用已在Firebase控制台上以正确的名称注册为android应用。
答案 0 :(得分:0)
基于@ Maadhav-Sharma的回答,我通过以下修补程序使它起作用。 AndroidX兼容性存在问题,即使对于应该与AndroiX兼容的带有compileSdkVersion 28的Flutter新项目也是如此。更多信息:https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility
首先创建一个新项目。
在android / build.gradle中:
dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
classpath 'com.google.gms:google-services:4.3.2'
}
在android / gradle / wrapper / gradle.properties中,附加
android.enableJetifier=true
android.useAndroidX=true
在android / app / build.gradle中:
defaultConfig {
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true // This was needed to get FireStore to work
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
implementation 'com.google.firebase:firebase-analytics:17.2.0'
implementation 'androidx.multidex:multidex:2.0.1' // This was needed to get FireStore to work
}
apply plugin: 'com.google.gms.google-services'