В настоящее время я работаю над приложением, которое делает timelapse изображения и автоматически сохраняет их на Google Диске, эта часть работает нормально. Однако эти телефоны могут быть развернуты в местах, где физический доступ может быть ограничен, поэтому все, что мы можем делать удаленно, должно выполняться удаленно.Как я могу принудительно удалять удаленные обновления или удаленный код hotswap без взаимодействия с человеком?
Это приложение предназначено исключительно для внутригосударственных целей, оно не будет восприниматься общественными пользователями, поэтому приемлемы корневые и хакерские решения. В настоящее время он развернут через игровой магазин в качестве бета-приложения.
Итак, как я могу удаленно обновлять приложение?
Мой нынешний наилучший подход заключается в том, чтобы отправить уведомление об обновлении силы, которое сообщит приложению, что есть обновление на игровом автомате. Закройте приложение, дождитесь, пока он будет автоматически обновлять его, а затем снова запустите приложение с помощью широковещательного приемника PACKAGE_REPLACED.
Но с этим я нахожусь во власти игрового магазина, я не могу сказать, будет ли он автоматически обновляться в течение нескольких минут, часов или даже дней. Хотя я не ожидаю, что обновления будут критичными, и они могут ждать, они должны произойти в конечном итоге и с минимальным временем простоя.
Я знаю, что A/B Framework для тестирования, например mixpanel, может менять код, по крайней мере, строковые ресурсы и подобные, но мне было интересно, есть ли способ, которым я могу использовать код горячей замены, возможно, даже целые фрагменты. Это нормально, если приложение должно перезагрузиться.
Итак, каков был бы лучший способ сделать это? Не стесняйтесь предлагать и другие подходы.
Предположительно https://github.com/VivekPanyam/Evolve делает в значительной степени то, что мне нужно. Я не могу распространять через магазин игр, но это решит мои проблемы. Посмотрю, работает ли он и обновите проблему. – Syzygy