Как обновить приложение на устройстве KIOSK с помощью лаунчера - PullRequest
0 голосов
/ 14 июля 2020

У меня есть три разных планшета (без названия), на которых мое приложение будет запускаться только в режиме KIOSK. Я хочу обновить приложение на этих устройствах.

На данный момент мой прогресс:

  • У меня есть приложение «Launcher», которое запускает и обрабатывает обновление «Main "приложение.

  • Приложение Launcher получает новый APK через HTTP и сохраняет его в своем getFilesDir () (/ data / data / packagename / files /)

Моя цель на данный момент установить этот APK, не предлагая пользователю разрешить эту установку. AFAIK это невозможно без root доступа

Я пробовал это:

Runtime.getRuntime().exec("chmod 777" + apkLocation);
String command; command = "pm install -r " + apkLocation;
Process proc = Runtime.getRuntime().exec(new String[]{"su", "-c", command});
proc.waitFor();

Но это не удается и возвращает 1. Я предполагаю, что это потому, что приложение не имеет доступа root .

Кроме того, приложение является активным администратором и владельцем устройства, но, тем не менее, похоже, что эти разрешения не давали мне права делать то, что я упоминал выше.

РЕДАКТИРОВАТЬ: Моя целевая версия API - 24.

EDIT2: Другой вопрос. Можно ли установить APK без вывода сообщений, вызвав скрытый API с помощью отражения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...