当使用Proguard混淆Android项目中的Kotlin Coroutines库时,可能会遇到以下警告:
W: kotlinx.coroutines: kotlinx.coroutines.locations.KotlinVersion is not being kept as expected. (Proguard configuration rule for kotlinx.coroutines.** is missing)
要解决此警告,可以添加以下Proguard规则来保留Kotlin Coroutines库:
-keep class kotlinx.coroutines.** { *; }
-dontwarn kotlinx.coroutines.**
将这些规则添加到您的Proguard配置文件(通常是proguard-rules.pro文件)中。
如果您的项目还使用了其他库,而且这些库与Kotlin Coroutines库冲突,则可以尝试添加以下规则:
-keep class kotlinx.coroutines.internal.MainDispatcherFactory {}
-keep class kotlinx.coroutines.CoroutineExceptionHandler {}
同样,将这些规则添加到您的Proguard配置文件中。
这些规则将告诉Proguard保留Kotlin Coroutines库的所有类和方法,并且不显示任何与库相关的警告。