Информация О Системном Приложении Android

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

android:sharedUserId="android.uid.system"

и затем мне нужно подписать мое приложение с ключом производителей? Я не уверен, может ли кто-нибудь объяснить мне каким именно будет этот процесс?

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

Спасибо за любую помощь, я просто не мог найти очень много информации на эту тему и был бы признателен за помощь.

3 ответов


эта ссылка здесь даст вам немного информации.

системное приложение не является приложением, которое подписано ОС подписи платформы. Это распространенная ошибка, в которую верят многие, и мы к этому мы еще вернемся. Системное приложение-это просто приложение, которое находится в папке / system / app в Android устройство. Приложение может быть установлено только в этой папке, если у нас есть доступ к ПЗУ ОС (system.НВФ.) Приложение помещенный под / App папка после извлечения ПЗУ. Устройство для загрузки пользовательский ROM будет иметь новое системное приложение добавлено. Благо системное приложение заключается в том, что приложение не может быть удалено из устройство (не может быть удалено пользователем). Это только потому, что / system / app-это папка только для чтения.

http://ricston.com/blog/explaining-behavior-android-application-system-apps-nonsystem-apps/

как для обновляя приложение через play store, я предполагаю, что вы сможете сделать это без каких-либо проблем, если приложение находится в play store, и вы используете одну и ту же подпись каждый раз. Он не должен быть сертификат производителя, но лучше использовать этот сертификат для подписи приложения.

Итак, единственное, что вам нужно убедиться, это то, что при создании ПЗУ производитель помещает ваш apk в системную папку, и он должен работать.


  1. использовать mkkey.sh http://www.kandroid.org/online-pdk/guide/release_keys.html скрипт для создания новых сертификатов, включая сертификаты x509. вам не понадобятся эти шаги, поскольку производитель дает вам ключи.
  2. В AndroidManifest.xml вашего приложения : под элементом добавить атрибут android: sharedUserId= " android.идентификатор uid.система"
  3. экспорт неподписанной версии приложения для Android с помощью eclipse. Проект > > Инструменты Для Android > > Экспорт Неподписанный Пакет Приложений
  4. использовать /out / host/ / framework / signapk.jar подписать приложение с помощью платформы.x509-на.pem и платформа.pk8 in/build/target/продукт/ безопасность / сгенерированный ранее

java-jar signapk.платформа jar.x509-на.платформа pem.pk8 your_app_unsigned.apk your_app_signed.apk

ответ на некоторые из ваших других вопросов уже дан Кумар Бибек. Вот шаги, которым я следовал, когда мне пришлось сделать то же самое. Это было в сделано в Android ICS. Шаги, возможно, изменились, но все же стоит попробовать.


поскольку Android O (Oreo), вам нужно подписать системные приложения с помощью клавиш dev, в отличие от прошлых версий, вы можете просто скопировать их в системную папку, которая менялась в прошлом.