Closed username4564 closed 5 years ago
Подскажите, пожалуйста: Если в вашем приложении поставить "android.enableR8 = true" в gradle.properties, падение исчезает?
К сожалению собрать проект в таком режиме не представляется возможным, т.к. выскакивает ошибка, с которой не совсем понятно что делать.
AGPBI: {"kind":"warning","text":"Type com.google.android.gms.common.util.zzv
was not found, it is required for default or static interface methods desugaring of void com.google.android.gms.iid.zzo.\u003cinit\u003e(android.content.Context, java.lang.String)
"
Гугл пишет, что нужно отключать R8 - такое себе решение проблемы.
Также есть сомнения на счет адекватности и качества работы R8 на данный момент.
Рекомендации по сборке проекта:
1) По возможности использовать R8 (он уже стабилен и является инструментом по умолчанию в новых версиях Android Studio
2) Если возникают проблемы с R8, можно попробовать следующие шаги:
3) При использовании Proguard может понадобиться правило -keep class com.threatmetrix.TrustDefender.internal.* { ; } в proguard-rules
При попытке стартануть intent, созданный с помощью Checkout.createTokenizeIntent, приложение падает.
Стектрейс: E/AndroidRuntime: FATAL EXCEPTION: main Process: ru.example.yandexkassax, PID: 5430 java.lang.NoClassDefFoundError: Failed resolution of: Lcom/threatmetrix/TrustDefender/internal/יִ; at com.threatmetrix.TrustDefender.TrustDefender.(Unknown Source:3)
at com.threatmetrix.TrustDefender.TrustDefender.getInstance(Unknown Source:15)
at ru.yandex.money.android.sdk.impl.d.a(Unknown Source:458)
at ru.yandex.money.android.sdk.impl.k.a(Unknown Source:115)
at ru.yandex.money.android.sdk.impl.CheckoutActivity.onCreate(Unknown Source:70)
at android.app.Activity.performCreate(Activity.java:7136)
at android.app.Activity.performCreate(Activity.java:7127)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.threatmetrix.TrustDefender.internal.יִ" on path: DexPathList[[zip file "/data/app/ru.example.yandexkassax-Ez3S87Y9_Fz9GhROeigZiQ==/base.apk"],nativeLibraryDirectories=[/data/app/ru.example.yandexkassax-Ez3S87Y9_Fz9GhROeigZiQ==/lib/x86_64, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.threatmetrix.TrustDefender.TrustDefender.(Unknown Source:3)
at com.threatmetrix.TrustDefender.TrustDefender.getInstance(Unknown Source:15)
at ru.yandex.money.android.sdk.impl.d.a(Unknown Source:458)
at ru.yandex.money.android.sdk.impl.k.a(Unknown Source:115)
at ru.yandex.money.android.sdk.impl.CheckoutActivity.onCreate(Unknown Source:70)
at android.app.Activity.performCreate(Activity.java:7136)
at android.app.Activity.performCreate(Activity.java:7127)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Условия: 1) Версия SDK 2.1.0 2) Включенный Proguard
Пример проекта (необходимо запустить и нажать на кнопку Pay): ykx-proguard-issue.zip