我在Android项目中使用Kotlin 1.3 EAP和kotlinx-coroutines-android:1.0.0-RC1
。我的开发构建成功,并且该应用程序运行良好。但是,当我Generate Signed APK
时,该应用程序仍会生成并运行,但随后崩溃
由于开发版本运行良好,显然gradle文件中没有遗漏。我有以下设置:
项目build.gradle
:
buildscript {
ext.kotlin_version = '1.3.0-rc-190'
....
模块
build.gradle
:dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.0.0-RC1'
随着时间的推移,同一应用程序已在运行许多不同版本的实验协程,这是我第一次遇到此问题。我怀疑EAP构件中存在一些临时问题。
我可以尝试做些什么?
最佳答案
如果您使用的是proguard,请添加这些proguard rules。
# ServiceLoader support
-keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {}
-keepnames class kotlinx.coroutines.CoroutineExceptionHandler {}
# Most of volatile fields are updated with AFU and should not be mangled
-keepclassmembernames class kotlinx.** {
volatile <fields>;
}
Source