У меня есть «владелец устройства» Android приложение, которое устанавливает APK без вывода сообщений с помощью PackageInstaller (см., Например, код здесь ).
Этот код отлично работает на всех Android 7+ устройств, кроме Xiaomi Redmi 7A (работает MIUI 11). Сбой установки, вот соответствующий вывод logcat:
01-16 00:43:21.494 1488 2892 I InstallationStatistic: beginInstallSession: 417086238
01-16 00:43:21.600 1488 1658 D com.android.server.pm.PackageManagerServiceInjector: Package verify start
01-16 00:43:21.601 1488 1538 D CompatibilityInfo: mCompatibilityFlags - 0
01-16 00:43:21.601 1488 1538 D CompatibilityInfo: applicationDensity - 320
01-16 00:43:21.601 1488 1538 D CompatibilityInfo: applicationScale - 1.0
01-16 00:43:21.611 24382 24395 D GuardProvider: start parse apk : /data/app/vmdl417086238.tmp
01-16 00:43:21.618 24382 24395 E i.guardprovide: Invalid ID 0x00000000.
01-16 00:43:21.638 4434 24418 D PackageVerifyedRecevier: verify package /data/app/vmdl417086238.tmp info: PackageInfo{45d0d6b com.hmdm.sendphoto}
01-16 00:43:21.638 4434 24418 D PackageVerifyedRecevier: verify package /data/app/vmdl417086238.tmp finish true
01-16 00:43:21.639 1488 1658 I com.android.server.pm.PackageManagerServiceInjector: MIUILOG- Install Reject uid: 10161 pkg : com.hmdm.launcher
01-16 00:43:21.639 1488 1658 E PackageInstaller: Commit of session 417086238 failed: Permission Denied
Идентификатор пакета установщика (владельца устройства) - com.hmdm.launcher. Идентификатор пакета устанавливаемого приложения - com.hmdm.sendphoto.
Я пытался добавить разрешение «Установка неизвестных приложений», но это не помогло.
Похоже, что приложение должно запрашивать MIUI OS для некоторых специальных (недокументированных) разрешений?
Права владельца устройства были предоставлены приложению Регистрация на основе QR-кода .