从 class net.fortuna.ical4j.model.ContentBuilder 非法调用 super 到 void groovy.lang.GroovyObjectSupport.setMetaClass(groovy.lang.MetaClass)

Illegal invoke-super to void groovy.lang.GroovyObjectSupport.setMetaClass(groovy.lang.MetaClass) from class net.fortuna.ical4j.model.ContentBuilder

我创建了一个 Android 应用程序,我在其中解析日历事件。如果 proguard 被禁用,一切正常。 当我尝试通过启用混淆器来混淆我的代码时,我收到此错误并且构建失败。

从 class net.fortuna.ical4j.model.ContentBuilder 无效 groovy.lang.GroovyObjectSupport.setMetaClass(groovy.lang.MetaClass) 的非法调用

我搜索了很多,但找不到解决这个问题的方法。

我使用 Ical4j 库的代码片段

.
.
.
Date time = cal.getTime();
Period period = new Period(new net.fortuna.ical4j.model.DateTime(time), new Dur(20, 0, 0, 0));
Filter filter = new Filter(new PeriodRule(period));
.
.
.
if (component.getProperty("ATTENDEE") != null) {
    int attendeeSize = component.getProperties("ATTENDEE").size();
    for (int a = 0; a < attendeeSize; a++) {
        attendee = (net.fortuna.ical4j.model.property.Attendee) component.getProperties("ATTENDEE").get(a);
        if (attendee.getParameter("CN") != null)
            attendeeEmail = attendeeEmail + "\n" + attendee.getParameter("CN").getValue();
    }
} 
.
.
.

这是我的proguard-rules.pro

#noinspection ShrinkerUnresolvedReference

-ignorewarnings
-keepattributes SourceFile, LineNumberTable
-keepattributes *Annotation*, Signature, Exception
-dontshrink
-dontwarn net.fortuna.ical4j.model.**

-keepclasseswithmembers class com.example.elcapi.jnielc.** {public private *;}
-keepclassmembers class culha.File_Browser.FilePicker.** {public <fields>;}
-keepclasseswithmembers class culha.FlightBoard.Data.** { *; }
-keepclasseswithmembers class culha.InAppBilling.Inventory.** {*;}
-keepclassmembers class culha.InAppBilling.IabResult.** {public <fields>;}
-keepclassmembers class culha.InAppBilling.IabException.** {public <fields>;}
-keepclassmembers class culha.InAppBilling.IabBroadcastReceiver.** {public <fields>;}
-keepclassmembers class culha.MainScreenButtons.Buttons.**
-keepclasseswithmembers class culha.roomdisplay.powerbutton.AppContext.** {*;}
-keepclasseswithmembers class culha.MeetingRoomSchedule.BookRoomNowData.** {*;}
-keepnames class culha.MeetingRoomSchedule.chkInternetConn.**
-keep class culha.MeetingRoomSchedule.Conn_frag_exchange.** {*;}
-keep class culha.MeetingRoomSchedule.Conn_frag_exchange.frag_exchange.** {*;}
-keep class culha.MeetingRoomSchedule.Conn_frag_exchange.frag_exchange_find_resource** {*;}
-keep class culha.MeetingRoomSchedule.Conn_frag_exchange.frag_exchange_resource** {*;}
-keep class culha.MeetingRoomSchedule.Conn_frag_server.** {*;}
-keep class culha.MeetingRoomSchedule.Conn_frag_server.frag_server.** {*;}
-keep class culha.MeetingRoomSchedule.Conn_frag_google.** {*;}
-keep class culha.MeetingRoomSchedule.Conn_frag_google.closeOldChannel.** {*;}
-keep class culha.MeetingRoomSchedule.Conn_frag_google.MakeRequestTask.** {*;}
-keep class culha.MeetingRoomSchedule.Conn_frag_google.openNewChannel.** {*;}
-keepclasseswithmembers class culha.MeetingRoomSchedule.DeviceName.** {*;}
-keepclasseswithmembers class culha.MeetingRoomSchedule.ExcCurrentMeetings.** {*;}
-keepclasseswithmembers class culha.MeetingRoomSchedule.ExcNextMeetings.** {*;}
-keepclasseswithmembers class culha.MeetingRoomSchedule.fireBase.** {*;}
-keepclasseswithmembers class culha.MeetingRoomSchedule.FirebaseAnalyticsClass.** {*;}
-keepclasseswithmembers class culha.MeetingRoomSchedule.FirebaseInstanceIdService.** {*;}
-keepclasseswithmembers class culha.MeetingRoomSchedule.GoogleEvents.** {*;}
-keepclasseswithmembers class culha.MeetingRoomSchedule.LogIn1.** {*;}
-keepclassmembers class culha.MeetingRoomSchedule.MailGun.** {*;}
-keepclassmembers class culha.MeetingRoomSchedule.MailGunAtteendees.** {*;}
-keep class culha.MeetingRoomSchedule.MainActivity.** {*;}
-keepclasseswithmembers class culha.MeetingRoomSchedule.SendGMailTask.** {*;}
-keepclasseswithmembers class culha.MeetingRoomSchedule.SendMailGunTask.** {*;}
-keepclasseswithmembers class culha.MeetingRoomSchedule.SendMailGunTaskAttendees.** {*;}
-keepclasseswithmembers class culha.MeetingRoomSchedule.SendMailTask.** {*;}
-keepclasseswithmembers class culha.MeetingRoomSchedule.SetDemoServer.** {*;}
-keepclasseswithmembers class culha.MeetingRoomSchedule.TLSSocketFactory.** {*;}
-keepclasseswithmembers class culha.MeetingRoomSchedule.Toggle.** {*;}
-keepclasseswithmembers interface com.android.vending.billing.IInAppBillingService.** {*;}

-keep class com.google.firebase.** {public *;}
-keep public class com.jakewharton.** {public *;}
-keep public class net.openid.** {public *;}
-keep public class com.android.volley.** {public *;}
-keep public class com.github.** {public *;}
-keep public class org.glassfish.hk2.** {public *;}
-keep public class net.sargue.mailgun.** {public *;}
-keep public class com.wdullaer.** {public *;}
-keep public class com.google.android.gms.** {public *;}
-keep public class com.google.api.** {public *;}
-keep public class pub.devrel.easypermissions.** {public *;}
-keep public class biweekly.** {public *;}
-keep public class com.google.firebase.** {public *;}
-keep public class com.android.** {public *;}
-keep public class com.independentsoft.** {public *;}
-keep public class androidx.** {public *;}
-keep public class android.support.** {public *;}
-keep public class javax.** {public *;}
-keep public class com.sun.mail.** {public *;}
-keep public class com.independentsoft.** {public  *;}
-keep public class org.apache.** {public  *;}
-keep public class net.margaritov.** {public *;}
-keep public class net.fortuna.ical4j.** {public  *;}

我已经通过从 proguard-rules.pro 中删除 -dontshrink 解决了我的问题。希望这会帮助其他人面临这个问题。