Ответ 1
Здесь есть некоторая путаница.
Во-первых, если вы говорите о "системном приложении" как о том, чтобы быть одним из установленных с помощью FLAG_SYSTEM, все это означает, что приложение расположено на/системном разделе, который является разделом только для чтения, который является в основном прошивкой Устройство. (Он может быть изменен только как часть обновления прошивки OTA.) Эти приложения не могут быть удалены просто потому, что они находятся в разделе, который нельзя изменить.
Единственное, что особенно важно в системном приложении, заключается в том, что существует несколько разрешений подписи, которые также могут быть предоставлены любому приложению на образ системы. Например, есть разрешение на прямой разговор с диспетчером пакетов для установки приложения (без прохождения через пользовательский интерфейс системы), которое может иметь такое приложение; это полезно для любого магазина приложений/рынка, предварительно загруженного на устройство.
Подписание с сертификатом платформы является ортогональной концепцией - такое приложение может быть либо на системном изображении, либо установлено как стороннее приложение (хотя, очевидно, почти во всех случаях они устанавливаются заранее). Такие приложения имеют доступ к целому набору разрешений низкого уровня для взаимодействия с платформой. С этим сертификатом подписано очень мало приложений; это только для приложений основной платформы. Если вы не работаете с поставщиком оборудования на устройстве, у вас не будет доступа к этому.
Все сертификаты платформы (независимо от того, доступны ли они для всех приложений, требуют, чтобы приложение было подписано с сертификатом платформы или доступно для приложений, установленных на системном разделе) объявляются манифестом платформ, как и любое другое приложение:
https://android.googlesource.com/platform/frameworks/base/+/master/core/res/AndroidManifest.xml