yandexmobile/metrica-sdk-android

ClassNotFoundException в release версии

shakhzodbek-i opened this issue · 6 comments

E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/yandex/metrica/impl/ob/Ez;
at com.yandex.metrica.YandexMetricaConfig$Builder.(SourceFile:1)
at com.yandex.metrica.YandexMetricaConfig.newConfigBuilder(SourceFile:1)
at core.app.App.onCreate(App.kt:44)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1190)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6580)
at android.app.ActivityThread.access$1400(ActivityThread.java:224)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1887)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7560)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.yandex.metrica.impl.ob.Ez" on path: DexPathList[[zip file "/data/app/-wzeO2iIGz3q-zfbC75x8KA==/base.apk"],nativeLibraryDirectories=[/data/app/-wzeO2iIGz3q-zfbC75x8KA==/lib/arm64, /data/app/-wzeO2iIGz3q-zfbC75x8KA==/base.apk!/lib/arm64-v8a, /system/lib64, /system/product/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:230)

Версия Android 10

Здравствуйте. Укажите, пожалуйста, следующую информацию:

  1. Какую используете версию AppMetrica SDK?
  2. Вы подключаете нативную AppMetrica SDK или используете плагины (Unity, Cordova, Xamarin, др.)?
  3. Как подключаете зависимость? Делаете ли где-то exclude для модуля mobmetricalib?
  4. Часто ли воспроизводится крэш? На разных устройствах или на конкретной модели?
  5. Настраиваете ли нестандартным образом правила обфускации?

Здравствуйте @dzinad

  1. Версия Appmetrica 3.18

  2. Да, я использую нативную метрику

  3. Подключал все по инструкции на сайте, нигде не эксклюдил mobmetricalib

  4. Кэш постоянный, при запуске приложения, сразу же выбивает данную ошибку. Проверял только на 2х устройствах, у обоих Версия Андроида 10

  5. Брал настройки Proguard с примера использования Appmetrica, на страничке Yandex в github: https://github.com/yandexmobile/metrica-sample-android/

А есть ли у вас еще какие-то зависимости, которые используют AppMetrica SDK? Например, Yandex Mobile Ads SDK, AppMetrica Push SDK, или какие-то другие SDK от Яндекса? Если да, то какие у них версии?

@dzinad Нет, других зависимостей нет. Проблему удалось устранить снизив версию AppMetrica SDK до 3.15.0

@shakhzodbek-i а используете ли firebase performance plugin? Если да, то в одной из его версий был баг, который порождал похожую проблему с AppMetrica SDK. В версии 1.3.3 плагина он был исправлен.

Если указанное решение вам не подойдет - пожалуйста, переоткройте укзанное Issue.