yandexmobile / metrica-sdk-android

AppMetrica is a free real-time ad tracking and mobile app analytics solution.
https://tech.yandex.com/metrica-mobile-sdk/
20 stars 3 forks source link

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

Closed R00We closed 7 years ago

R00We commented 7 years ago

Возникает при откате с 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)

alexklints commented 7 years ago

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

janibekmarshal commented 7 years ago

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

alexklints commented 7 years ago

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

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

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

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

janibekmarshal commented 7 years ago

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

alexklints commented 7 years ago

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

janibekmarshal commented 7 years ago

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

alexklints commented 7 years ago

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

janibekmarshal commented 7 years ago

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

dimlksin2 commented 5 years ago

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)