【问题标题】:Flutter doesnt work properly with firebase on release apk/bundleFlutter 在发布 apk/bundle 时无法与 firebase 一起正常工作
【发布时间】:2020-10-03 17:40:13
【问题描述】:

当我执行flutter run 时,我的应用程序在 Firebase (cloud_firestore) 中运行良好,但每当我执行以下命令之一时: flutter build apk --release 要么 flutter build appbundle --target-platform android-arm,android-arm64,android-x64 我的应用无法与 cloud_firestore 一起正常工作。它不执行 CRUD 操作。

pubspec.yaml(插件):

  google_sign_in: 4.5.1
  firebase_auth: 0.16.1
  firebase_core: ^0.4.0+8
  firebase_analytics: ^5.0.14
  cloud_firestore: ^0.13.6

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

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

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

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

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

android {
    compileSdkVersion 28

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        applicationId "com.tomeruby.iusefully"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        multiDexEnabled true
        // ndk {
        //     abiFilters 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'mips', 'mips64', 'arm64-v8a'
        // }
    }

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

    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.release
            multiDexEnabled true
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    // implementation 'com.google.firebase:firebase-core:16.0.5'
    // implementation 'com.google.firebase:firebase-analytics-impl:16.2.3'
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

apply plugin: 'com.google.gms.google-services'

如果您需要更多信息,请告诉我。 在此先感谢:D

【问题讨论】:

  • 这与登录无关,如果有帮助我会更新。
  • 你得到什么错误?
  • 我没有得到日志...
  • 您是否已在 Firebase 控制台中将发布 Keystore SHA1 添加到您的项目中?

标签: android firebase flutter apk release


【解决方案1】:

尝试改变

classpath 'com.google.gms:google-services:4.3.0'

在你的项目中 gradle.build 到

classpath 'com.google.gms:google-services:3.2.1'

并在 gradle.properties 添加

android.useAndroidX=true
android.enableJetifier=true

【讨论】:

    猜你喜欢
    • 2021-12-12
    • 2019-05-12
    • 2018-09-27
    • 2021-09-03
    • 1970-01-01
    • 1970-01-01
    • 2021-04-04
    • 2022-01-23
    • 1970-01-01
    相关资源
    最近更新 更多