Как я могу программно установить приложения на Android из системного приложения, не будучи владельцем устройства? - PullRequest
2 голосов
/ 10 октября 2019

Я пытался найти решение по этому вопросу, довольно долго ища в сети. Если у меня есть рабочее решение моего вопроса по stackoverflow, было бы неплохо, если бы кто-то указал мне на него.

Так что проблема очень специфическая:

Мне нравится реализовывать средство обновления приложений, которое устанавливаетприложения без какого-либо дополнительного взаимодействия с пользователем, как только пользователь запустил процесс установки.

Это будет похоже на то, как это делает GMS (Play Store).

Ограничения:

  • Реализация должна работать на устройствах до Android 6.
  • Я разработчик системы Android и хочу интегрировать обновление для нашего собственного оборудования.
  • У меня естьсуществующее приложение, которое выполняется как системное приложение в контексте системы.
  • Приложение не может быть владельцем устройства, так как это заблокирует поддержку MDM, которая может потребоваться клиентам.
  • Я могу получить доступ к скрытым API-интерфейсамсистема Android.
  • Решение может не требовать root доступа к устройству и не должно использовать какие-либо хаки, такие как вызов pm install.

Устройство имеетпередать одобрение Google, что ограничивает все использование системных API, предоставляемых Android. Я думаю, что это причина, почему так трудно найти правильное решение или указатель на пример кода для этого.

Кто-нибудь работал над этим? Существуют ли приложения (например, бесплатные магазины приложений), реализующие что-то подобное?

Редактировать: Я нашел частичный ответ на мой вопрос здесь: https://stackoverflow.com/a/5805299/6289291

Основное отличие состоит в том, что при построении из дерева AOSP отражения, конечно, не требуются, и есть некоторые проблемы, с которыми я столкнулся, которые я постараюсь обобщить в ответе на этот вопрос, как только я решу их надлежащим образом. .

...