yandexmobile/metrica-sdk-android

android.database.sqlite.SQLiteException: Can't downgrade database from version 52 to 48

Closed this issue · 9 comments

R00We commented

Возникает при откате с 52 версии до 48
Fatal Exception: android.database.sqlite.SQLiteException: Can't downgrade database from version 52 to 48
at android.database.sqlite.SQLiteOpenHelper.onDowngrade(SQLiteOpenHelper.java:360)
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:254)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163)
at com.yandex.metrica.impl.ob.bd.a(SourceFile:170)
at com.yandex.metrica.impl.ob.bd.a(SourceFile:1163)
at com.yandex.metrica.impl.ob.bd$b.run(SourceFile:79)

Здравствуйте. Спасибо за фидбек.
В данный момент AppMetrica не поддерживает использование старых версий сдк поверх новых, но мы рассмотрим добавление такой возможности в одной из следующих версий AppMetrica.

Возникает такая же ошибка.
@alexklints Но версию SDK мы не понижали, поднимали месяц назад с 2.60 на 2.62 для исправления багов.

Тогда, я не совсем понял фразу:

Возникает при откате с 52 версии до 48

Кроме того можно попробовать сделать следующее:

  • интегрируйте свежую версию 2.70;
  • проверьте интеграцию сдк. Уточнить, какую версию @aar или @jar вы интегрируете в свое приложение.

Если это не поможет, уточните, пожалуйста, как воспроизвести проблему.

Хорошо, попробуем обновить до 2.70
Интегрируем @aar через jcenter com.yandex.android:mobmetricalib:2.62
а воспроизвести не смогли - заметили по логам в Crashlytics

А у скольки пользователей видна проблема? Может быть просто пользователь попытался установить старую версию вашего приложения поверх новой?

Баг воспроизводился 1-3 раз в сутки, но позавчера резко поднялось количество крашей у более 100 пользователей.
Android не позволяет устанавливать старое приложение поверх новых, если versionCode выше

Да, не позволяет, если последовательно повышать versionCode. Тогда можно еще попробовать глянуть на распределение по устройствам/осям. Может быть это глюк конкретных устройств. Всплеск до 100 постадавших пользователей или крешей? Интересно знать вот что: сколько суммарно таких крешей и сколько суммарно зааффекченных пользователей.

Устройство/OS разбросано, всплеск у активных пользователей.
После 17 Мая баг перестало воспроизводиться.

android.database.sqlite.SQLiteException: Can't downgrade database from version 81 to 67
at android.database.sqlite.SQLiteOpenHelper.onDowngrade(SQLiteOpenHelper.java:360)
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:254)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163)
at com.yandex.metrica.impl.ob.fe.a(SourceFile:23)
at com.yandex.metrica.impl.ob.ey.a(SourceFile:68)
at com.yandex.metrica.impl.ob.bx.a(SourceFile:59)
at com.yandex.metrica.impl.ob.bf$1.a(SourceFile:27)
at com.yandex.metrica.impl.ob.bf$1.a(SourceFile:24)
at com.yandex.metrica.impl.ob.ay.a(SourceFile:36)
at com.yandex.metrica.impl.ob.bf.b(SourceFile:24)
at com.yandex.metrica.impl.ob.ab.a(SourceFile:222)
at com.yandex.metrica.impl.ob.aw.a(SourceFile:34)
at com.yandex.metrica.impl.ob.au.a(SourceFile:56)
at com.yandex.metrica.impl.ai$a.run(SourceFile:374)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)