Hallo,
Ich habe eine Flutter-App, die perfekt funktionierte, bis ich habe mein Betriebssystem auf Windows 11 aktualisiert und Android Studio auf die Ladybug-Version aktualisiert. Nachdem ich einige anfängliche Fehler behoben und Gradle auf 8.9 aktualisiert hatte, gelang es mir, alles wieder zum Laufen zu bringen. iOS-Updates wurden reibungslos veröffentlicht, aber Android war eine kleine Herausforderung.
Das Ausführen der App funktioniert, aber das Kompilieren der App stürzt während der Minimierung ab und es scheint mit Stripes pushProvisioning zusammenzuhängen. Meine App verwendet Stripe nur für Direktzahlungen, bei denen ein Benutzer auf ein Bezahlsymbol klickt und ich eine Zahlungsabsicht für ihn erstelle. Ich bin mir nicht sicher, welche spezifischen Fehlerdetails hilfreich sein könnten, aber hier ist ein Auszug:
Code: Select all
> Task :app:minifyReleaseWithR8 FAILED
ERROR: Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in C:\Users\nilsm\AndroidStudioProcjects\Prosjekt\parkering\build\app\outputs\mapping\release\missing_rules.txt.
ERROR: R8: Missing class com.stripe.android.pushProvisioning.PushProvisioningActivity$g (referenced from: void com.reactnativestripesdk.pushprovisioning.PushProvisioningProxy$createActivityEventListener$listener$1.onActivityResult(android.app.Activity, int, int, android.content.Intent))
Code: Select all
dependencies {
implementation 'com.stripe:stripe-android:20.48.6'
// Add other dependencies here if needed
}
Code: Select all
implementation 'com.stripe:stripe-push-provisioning:1.1.0'
Code: Select all
# General Flutter rules
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugins.** { *; }
-keep class com.myappname.MainActivity { *; }
# Android core and Kotlin rules
-keepattributes *Annotation*
-keep class kotlin.Metadata { *; }
-keep class kotlin.reflect.** { *; }
-dontwarn kotlin.**
-dontwarn kotlinx.coroutines.**
# Required for core Android libraries
-keepclassmembers class * {
@androidx.annotation.Keep *;
}
# Handle known warnings for AndroidX
-dontwarn androidx.**
# General Proguard rules to support reflection
-keepclassmembers class * {
void *(android.content.Context, android.util.AttributeSet);
void *(android.view.View, android.util.AttributeSet);
}
# Stripe SDK rules
-keep class com.stripe.android.** { *; }
-dontwarn com.stripe.android.**
# Rules for Stripe push provisioning (ignore warnings for missing classes)
-dontwarn com.stripe.android.pushProvisioning.**
-dontwarn com.reactnativestripesdk.pushprovisioning.**
# Optionally keep push provisioning classes if they're used
-keep class com.stripe.android.pushProvisioning.** { *; }
-keep class com.reactnativestripesdk.pushprovisioning.** { *; }
# Disable side effects for unused Stripe push provisioning methods
-assumenosideeffects class com.reactnativestripesdk.pushprovisioning.PushProvisioningProxy { *; }
-assumenosideeffects class com.reactnativestripesdk.pushprovisioning.DefaultPushProvisioningProxy { *; }
# Additional recommended optimizations and rules
-optimizationpasses 5
-allowaccessmodification
-dontoptimize
-dontpreverify
-verbose
-ignorewarnings