Не удалось выполнить задачу «:app:minifyReleaseWithR8» — в полосе отсутствуют классы?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Не удалось выполнить задачу «:app:minifyReleaseWithR8» — в полосе отсутствуют классы?

Сообщение Anonymous »

Вот улучшенная версия вашего текста с некоторыми изменениями в четкости:
Здравствуйте!
У меня есть приложение 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))
Чтобы решить эту проблему, я добавил в android/app/build.gradle следующее:

Код: Выделить всё

dependencies {
implementation 'com.stripe:stripe-android:20.48.6'
// Add other dependencies here if needed
}
Я также пробовал добавить:

Код: Выделить всё

implementation 'com.stripe:stripe-push-provisioning:1.1.0'
Однако это вызвало больше ошибок, поэтому я удалил его. Затем я попробовал использовать ProGuard, как было предложено в ошибке, добавив все, что указано в файле Missing_rules.txt. Мой proguard-rules.pro сейчас выглядит так:

Код: Выделить всё

# 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
Несмотря на все эти изменения, я все равно застрял. Может ли ошибка быть связана с отсутствием классов Stripe или существует другая основная проблема? Будем очень признательны за любые предложения относительно следующих шагов.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ng-classes
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»