Android 启用ProGuard的已签名apk获得崩溃

Android 启用ProGuard的已签名apk获得崩溃,android,kotlin,proguard,android-livedata,Android,Kotlin,Proguard,Android Livedata,我创建了一个用于接收数据的开放类: open class Event<out T>(private val content: T) { var hasBeenHandled = false private set // Allow external read but not write /** * Returns the content and prevents its use again. */ fun getContentIfNotHandledOrReturnN

我创建了一个用于接收数据的开放类:

open class Event<out T>(private val content: T) {

var hasBeenHandled = false
    private set // Allow external read but not write

/**
 * Returns the content and prevents its use again.
 */
fun getContentIfNotHandledOrReturnNull(): T? {
    return if (hasBeenHandled) {
        null
    } else {
        hasBeenHandled = true
        content
    }
}

/**
 * Returns the content, even if it's already been handled.
 */
fun peekContent(): T = content
开放类事件(私有val内容:T){
var hasbeennhandled=false
私有集//允许外部读取但不允许写入
/**
*返回内容并防止其再次使用。
*/
fun getContentIfNotHandledOrReturnNull():T{
如果返回(已处理){
无效的
}否则{
hasbeennhandled=true
内容
}
}
/**
*返回内容,即使内容已被处理。
*/
fun peek content():T=content
}

但在此导入中,在已签名的apk中获取错误

我的前卫

 -ignorewarnings
-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}
-keep public class com.vslib.base.model.Job { *; }
-keep public class com.google.android.gms.*{ public *; }
-assumenosideeffects class android.util.Log {
    public static *** d(...);
}
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.provider.Settings
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,EnclosingMethod
-keep class * extends androidx.lifecycle.ViewModel {
    <init>();
}
-keep class * extends androidx.lifecycle.AndroidViewModel {
    <init>(android.app.Application);
}
-keepattributes *Annotation*
-keepclassmembers enum androidx.lifecycle.Lifecycle$Event {
    <fields>;
}
-keep class androidx.lifecycle.* { *; }

Error LOG:

 

at com.packagename.fragment.a(SourceFile:32)
        at g.j.a.c.j.i.j.a(SourceFile:7)
        at g.j.a.c.h.i.e.onTransact(SourceFile:3)
        at android.os.Binder.transact(Binder.java:504)
        at dx.aZ(:com.google.android.gms.dynamite_mapsdynamite@210915051@21.09.15 (040408-0):2)
        at com.google.maps.api.android.lib6.impl.bj.run(:com.google.android.gms.dynamite_mapsdynamite@210915051@21.09.15 (040408-0):1)
        at android.os.Handler.handleCallback(Handler.java:836)
        at android.os.Handler.dispatchMessage(Handler.java:103)
        at android.os.Looper.loop(Looper.java:203)
-忽略警告
-keep class*实现android.os.Parcelable{
公开静态最终android.os.Parcelable$Creator*;
}
-保持公共类com.vslib.base.model.Job{*;}
-保持公共类com.google.android.gms.*{public*;}
-assumenosideeffects类android.util.Log{
公共静态***d(…);
}
-keep public class*扩展了android.app.Service
-keep public class*扩展了android.content.BroadcastReceiver
-keep public class*扩展了android.provider.Settings
-keepattributes异常、内部类、签名、已弃用、SourceFile、LineNumberTable、EnclosuringMethod
-keep class*扩展了androidx.lifecycle.ViewModel{
();
}
-keep class*扩展了androidx.lifecycle.AndroidViewModel{
(android.app.Application);
}
-keepattributes*注释*
-keepclassmembers枚举androidx.lifecycle.lifecycle$事件{
;
}
-保持类androidx.lifecycle.*{*;}
错误日志:
位于com.packagename.fragment.a(源文件:32)
在g.j.a.c.j.i.j.a(源文件:7)
在g.j.a.c.h.i.e.onTransact(源文件:3)
位于android.os.Binder.transact(Binder.java:504)
在dx.aZ(:com.google.android.gms.dynamite_mapsdynamite@210915051@21.09.15 (040408-0):2)
在com.google.maps.api.android.lib6.impl.bj.run(:com.google.android.gms.dynamite_mapsdynamite@210915051@21.09.15 (040408-0):1)
位于android.os.Handler.handleCallback(Handler.java:836)
位于android.os.Handler.dispatchMessage(Handler.java:103)
位于android.os.Looper.loop(Looper.java:203)

使用事件类时获取上述错误。如果我隐藏该类,它可以正常工作,但如果启用则会崩溃。有谁能帮忙吗。还需要启用proguard

至少发布您的崩溃日志和proguardconfig@bbsimon请你看看这个好吗