Я сталкиваюсь с очень странной ситуацией на одном устройстве (Nexus 5x с Android 7): когда я очищаю его данные и удаляю его, а затем устанавливаю с помощью Studio, приложение не униализируется, но использует данные от 24 января! Я попробовал ту же процедуру с планшетом, и приложение не имеет данных.
Я повторял эту процедуру много раз, я очищал свой проект, перестраивал его несколько раз, и он всегда начинается с данных 24 января (как базы данных, так и общих настроек).
Я даже пробовал adb shell и запускал as для очистки данных:
bullhead:/data/data/lelisoft.com.lelimath.debug $ ls -l databases/
total 232
-rw-rw---- 1 u0_a259 u0_a259 98304 2017-02-05 11:03 lelimath.sqlite
-rw------- 1 u0_a259 u0_a259 16928 2017-02-05 11:03 lelimath.sqlite-journal
Я удалил их, и приложение казалось пустым - пока я не удалил его и не установил снова - 24 января вернулось.
Это журнал, как это начинается:
$ adb shell am start -n "lelisoft.com.lelimath.debug/lelisoft.com.lelimath.activities.DashboardActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Waiting for application to come online: lelisoft.com.lelimath.debug | lelisoft.com.lelimath.debug.test
I/InstantRun: Instant Run Runtime started. Android package is lelisoft.com.lelimath.debug, real application class is lelisoft.com.lelimath.helpers.LeliMathApp.
D/l.c.l.h.LeliMathApp: onCreate()
D/l.c.l.h.BalanceHelper: Current points balance: 234
Это расположение базы данных, полученной из отладчика:
/data/user/0/lelisoft.com.lelimath.debug/databases/lelimath.sqlite
Грейдл:
android {
signingConfigs {
}
compileSdkVersion 24
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "lelisoft.com.lelimath"
resValue 'string', 'app_name', 'LeliMath'
minSdkVersion 16
targetSdkVersion 24
versionCode 300
versionName '3.0.0'
resValue "string", "app_build_number", getDate();
resValue "string", "app_version", versionName;
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
applicationIdSuffix ".debug"
resValue 'string', 'app_name', 'LeliMath DEV'
}
}
Часть манифеста:
<application
android:name=".helpers.LeliMathApp"
android:allowBackup="true"
android:fullBackupContent="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
tools:ignore="GoogleAppIndexingWarning">
Я не хочу сбрасывать телефон до заводских настроек, чтобы избавиться от этих данных. Не думаю, что эти данные есть в моем билде. Я их не добавлял и приложение в планшете при установке было пустым.