我一直遇到一个非常奇怪的错误。三年前我使用 Flutter 开发了一个应用程序,现在我将该应用程序迁移到了 Null Safety,从那时起,该应用程序在发布模式下崩溃并出现以下错误:
[cloud_firestore/unavailable] 服务当前不可用。 这很可能是暂时性问题,可以通过退避重试来纠正。
在调试模式下一切正常。
在 APK 编译的相关文件中,我有以下配置:
android/build.gradle
buildscript {
ext.kotlin_version = '1.4.21'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.0'
classpath 'com.google.gms:google-services:4.3.8'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
...
android/app/build.gradle
...
android {
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
...
proguard-rules.pro
## Flutter wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.** { *; }
-keep class io.flutter.util.** { *; }
-keep class io.flutter.view.** { *; }
-keep class io.flutter.** { *; }
-keep class io.flutter.plugins.** { *; }
-keep class com.google.firebase.** { *; }
-keep class com.revenuecat.purchases.** { *; }
-keep class androidx.lifecycle.DefaultLifecycleObserver
-dontwarn android.**
如果我将
minifyEnabled false shrinkResources false
更改为true
,则发布模式下一切正常,但我的应用程序大小增加了27%。
minifyEnabled false shrinkResources true
怎么样?minifyEnabled true shrinkResources false
呢?(2)-keep class
并把所有东西都放在那里怎么样?然后尝试只保留部分类,等等。最终,您会发现哪些类应该被保留。 - ch271828n