Испытывает новую функцию авто восстановления/восстановления Android 6 и сталкивается с проблемой сбой приложения сразу после восстановления. Дальнейшее исследование показало, что метод инициализации Application.onCreate() не вызывался перед основным методом Activity.onCreate(). Это кажется мне вероятной ошибкой в новой логике autorestore. Но я думал, что попрошу совета здесь, прежде чем сообщить об этом в качестве официальной ошибки.Android 6 автоматическое восстановление не инициализирует приложение
Последовательность событий я пройти через это
- Запустите приложение, всегда открыть главное окно деятельности.
- Заставьте резервную копию данных приложения, введя
ADB оболочки bmgr fullbackup net.anei.cadpage
- Используйте менеджер приложение, чтобы заставить закрыть приложение и удалить все данные приложения и кэш
- восстановление приложения информации с
ADB оболочки bmgr восстановления
- Вручную запустите приложение
Результирующие журналы показывают, что метод Activity.onCreate() вызывается перед Application.onCreate(). Приложение аварийно завершает работу, потому что некоторая критическая инициализация не выполнялась методом Application.onCreate().
Есть ли что-то очевидное, что мне не хватает ???
FWIW, запуск приложения во второй раз после сбоя работает отлично.
Каково ожидаемое поведение при установке приложения с помощью функции «Автоматическое восстановление»? Из некоторого беглого тестирования кажется, что поведение на Android 7, как описано выше, - приложение будет запущено с помощью приложения базового класса, а затем процесс будет уничтожен и перезагружен нормально после завершения восстановления. Однако на Android 6.0 процесс не закрывается, а приложение работает с базовым классом Application. – user3615737
Возможно, что в Android 6 есть ошибка, так что после завершения восстановления он не смог убить экземпляр процесса base-Application? Также возможно, что это ошибка OEM-специфики; в общем, попытайтесь воспроизвести вещи на устройствах Nexus/Pixel, а также, если это возможно, других OEM-устройствах. – ctate
Я видел это на Nexus 5 под управлением Android 6.0. Он работает правильно на Pixel C под управлением Android 7.0 – user3615737