Здравствуйте!
У меня есть приложение Flutter, которое работало отлично, пока я не обновил свою ОС до Windows 11 и обновил Android Studio до версии Ladybug. После исправления некоторых первоначальных ошибок и обновления Gradle до 8.9 мне удалось снова запустить все. Обновления для iOS публикуются без проблем, а вот для Android возникают некоторые трудности.
Приложение работает, но при компиляции происходит сбой во время минификации, и это, похоже, связано с pushProvisioning в Stripe. Мое приложение использует Stripe только для прямых платежей, когда пользователь нажимает значок оплаты, и я создаю для него намерение платежа. Я не уверен, какие конкретные сведения об ошибке могут помочь, но вот отрывок:
Код: Выделить всё
> 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))
Код: Выделить всё
dependencies {
implementation 'com.stripe:stripe-android:20.48.6'
// Add other dependencies here if needed
}
Код: Выделить всё
implementation 'com.stripe:stripe-push-provisioning:1.1.0'
Код: Выделить всё
# 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
Подробнее здесь: https://stackoverflow.com/questions/791 ... ng-classes
Мобильная версия