Устанавливать.apk программно

В порядке,

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

У меня есть пользовательское рутованное ПЗУ (без магазина игр). Это android stick pc (поэтому у меня нет системного ключа для подписи моего приложения, если я не пропустил что-то в документации по ядру). Я хочу, чтобы мое приложение проверяло обновления с моего сервера каждый вечер. Если есть новая версия, я хочу загрузить и установить ее без участия пользователя.

Я знаю, что могу вызвать экран обновления с

Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.fromFile(new File(pathToApk));
intent.setDataAndType(uri, "application/vnd.android.package-archive");
startActivity(intent);

Но, как я уже сказал, это не то, что я хочу. SU и busybox находятся на устройстве. Кто-нибудь знает способ сделать это?

1 ответ

Решение

Вы можете получить доступ к PackageManager из командной строки, используя pm, Если su присутствует, нужно запустить

su pm install pathToApk.apk

Чтобы запустить его из приложения Java, используйте ProcessBuilder,

Другие вопросы по тегам