Android N - приложение Priv

Сделал приложение, которое должно перезагрузиться в рекавери. Я нажимаю на priv-app, чтобы дать ему необходимые привилегии. Теперь, когда я тестировал его на Android 7, я не могу перезагрузиться (в предыдущей версии все работало), я вижу в журнале:

09-04 13: 11: 07.791 376 376 E SELinux: avc: denied {find} for service = recovery pid = 3027 uid = 10057 scontext = u: r: platform_app: s0: c512, c768 tcontext = u: object_r: recovery_service: s0 tclass = service_manager permissive = 0

Есть ли новый или дополнительный шаг, который нужно сделать, чтобы мое приложение стало доменом priv_app, а не platform_app?


person user2028998    schedule 08.09.2016    source источник


Ответы (1)


Удалите LOCAL_CERTIFICATE := platform из своего Android.mk, потому что для selinux, если сертификат приложения является платформой, то он будет в домене platform_app.

В противном случае, если сертификат НЕ является платформой и находится в Priv-app, то selinux поместит его в домен priv_app.

Проверьте этот файл: system/sepolicy/seapp_contexts

user=_app seinfo=platform domain=platform_app type=app_data_file levelFrom=user
user=_app isPrivApp=true domain=priv_app type=app_data_file levelFrom=user
person user7099381    schedule 01.11.2016
comment
Ответы только на код считаются плохой практикой, пожалуйста, дайте краткую аннотацию, чтобы объяснить, что это делает. - person Jonathan Mee; 01.11.2016