Я скопировал свое приложение в / system / priv-app / и перезагрузил систему. Приложение больше не отображается в разделе «Загруженные приложения», а теперь в разделе «Системные приложения». Однако это происходит только тогда, когда я не удаляю оригинальную копию приложения в / data / app /. Если я удаляю оригинальную копию в / data / app / и перезагружаюсь, приложение вообще нигде не отображается, хотя в / system / priv-app / есть его копия. Кроме того, я проверил с помощью getPackageManager (). GetApplicationInfo (getPackageName (), 0) .sourceDir, что, когда приложение действительно запускается (если у меня все еще есть копия в / data / app /), оно запускается из непривилегированного каталога, хотя я запускаю его из-под системных приложений.
Мои права доступа и права собственности соответствуют всем другим приложениям в каталоге / system / priv-app /:
drwxr-xr-x root root
Я нашел несколько связанных с этим вопросов о стековом потоке, в которых иногда говорят, что необходимо запустить chcon на APK после копирования в / system / priv-app /. Система выдает сообщение об ошибке «Не удалось пометить [мой путь] с помощью u: object_r: app_data_file: s0: Операция не поддерживается на конечной точке транспорта». Я обнаружил некоторую документацию, в которой говорилось: «Вы ограничены изменением контекста файлов, раздел которых отформатирован в файловой системе ext4. Любая попытка изменить контекст файла в другой системе приводит к [полученному сообщению об ошибке]». Очевидно, что chcon не является решением в моем случае.
Буду благодарен за любые советы по отображению моего приложения в System Apps и запуску из каталога / system / priv-app /.
Спасибо!
ИЗМЕНЕНО В ДОБАВЛЕНИЕ: Я также подписал свой APK системным ключом, который использовался для ключевых системных приложений. Это также не имело никакого эффекта.