/system
только для чтения без рута, поэтому он предотвращает удаление приложений из /system/app
и /system/priv-app
. Приложения, которые являются критическими, помещаются туда, чтобы их нельзя было удалить. Носители-носители, которые они не хотят, чтобы вы удалили, также находятся там. Последняя категория приложений может быть удалена, если вы рутированы; бывший не так уж и много.
/system/priv-app
также позволяет использовать установленные там приложения signatureOrSystem
и другие привилегированные разрешения. Ответ Стивена имеет несколько примеров.
Что касается того, почему приложения могут быть критическими, это зависит от ПЗУ. Например, HTC Sense сильно зависит от своих встроенных приложений от того, что я слышу. Они просто не спроектировали свой пользовательский интерфейс так, чтобы он изначально работал со сторонними приложениями (или не получался, если системные приложения отсутствовали). Другие приложения по сути являются частью ОС Android, но Google закодировал их как приложения / сервисы (вероятно, из-за инкапсуляции и надежности).
Обновления для некоторых системных приложений можно загрузить через магазин Play Store, например, Google Maps. Если оно не было предварительно установлено в качестве системного приложения на вашем устройстве, вы можете использовать Titanium для преобразования его из пользовательского приложения в системное приложение.
Другие ответы верны, но не указывают на пару отличий:
права доступа
Системным приложениям предоставляется возможность запрашивать определенные системные разрешения, которые никогда не доступны для пользовательских приложений. Это не то же самое, что права root / sudo / su.
Один пример, который я знаю и использую ежедневно, - это возможность сброса счетчика уведомлений о пропущенных вызовах. У меня есть Go Dialer, который является заменой стандартного дозвона и контактного приложения (как вы делаете телефонные звонки). Когда я пропускаю звонок, android сообщает мне об этом с уведомлением. Однако Go Dialer не разрешено сбрасывать этот счетчик, даже если он запрашивает это разрешение при установке приложения. Android 2.2 и более ранние версии позволяли пользовательским приложениям сбросить настройки, но сделали это разрешение доступным только для системы, разрешение для Android 2.3
Переместив мое приложение Go Dialer в системный раздел, можно сбросить этот счетчик. Root не требуется для приложения (за исключением, конечно, фактического перемещения приложения в системный раздел).
Другое системное разрешение - возможность установить текущее местоположение GPS. Теперь у Android есть предпочтение, в котором вы можете разрешить фиктивные местоположения, поэтому любое приложение для подмены GPS может объявить местоположение GPS. Но если приложение находится в системном разделе, фиктивные местоположения могут быть отключены, в то же время позволяя приложению подделать местоположение GPS.
Обновления
Системные приложения могут быть обновлены так же, как пользовательские приложения, но обновление никогда не интегрируется в исходный диск. То есть системные приложения имеют уникальную возможность откатиться до версии, существовавшей при первой установке rom.
Переместить на SD
Android позволяет пользователям перемещать
user
приложения из внутренней памяти на SD-карту. Системные приложения не могут быть перемещены и всегда занимают некоторое внутреннее пространство. Большинство (всех?) Устройств, тем не менее, имеют внутренние пользовательские приложения в другом разделе, поэтому удаление системного приложения не даст вам больше места для пользовательского приложения (кроме удаляемого dalvik-кэша).Вы освободите место, если удалите обновления для системного приложения. Как уже отмечалось, обновления не интегрированы с ROM и, таким образом, хранятся в пользовательском пространстве. Обновления также не могут перемещаться на SD-карту, но в случае удаления пространство пользователя восстанавливается.
Как это влияет на тебя
Если вы обычный пользователь Android, вы, скорее всего, не столкнетесь со сценариями, в которых система против пользовательского приложения будет иметь значение. Если вы опытный пользователь, у вас, скорее всего, есть пользователь root и вы можете изменить системное приложение на пользователя (и наоборот), если вы когда-нибудь столкнетесь с одной из этих ситуаций.
источник
sudo
иsu
то же - по крайней мере, в Unix и Linux.sudo
это более применимо, потому что sudo запрашивает привилегии root, тогдаsu
как просто просит сменить пользователя. Чтобы использовать su, вам нужно знать только пароль учетной записи, на которую вы переключаетесь; если вы не указали учетную запись, то вы просите стать пользователем root. В Android, однако, нет пароля root и других учетных записей, поэтомуsu
команда, известная пользователям, запускается в терминале для получения привилегий root.su
, так как это то, что некоторые пользователи Android приравнивают к корню.Системные приложения - это приложения, включенные в систему. Они находятся в папке / system / app.
Подавляющее большинство из них требуется, чтобы устройство работало. Примером некоторых из них является номеронабиратель, который устанавливает все сетевые подключения, и браузер, без которого не будут работать никакие веб-просмотры в приложении.
источник
Я хотел бы добавить что-то в ответах выше. Системные приложения не могут быть удалены при полном заводском сбросе, в отличие от пользовательских приложений. Поэтому, если вы хотите удалить все свои личные файлы, но их слишком много, чтобы их можно было удобно удалить, чтобы сброс к заводским настройкам был только наиболее удобным, и у вас есть приложения, которые вы хотите сохранить, вы можете преобразовать эти приложения в системные приложения, чтобы они не стирается во время сброса настроек.
источник
Еще одна особенность системных приложений заключается в том, что они используют собственные библиотеки ( файлы libsomething.so ) из каталога общих системных библиотек (обычно это / system / lib или / system / lib64 ), а не из каталога частных приложений (например, / data). /app/com.example.HelloJni/lib/arm ). До Android Nougat пользовательские приложения могли свободно загружать и использовать системные библиотеки. Ограничения были введены позже, см. Https://developer.android.com/about/versions/nougat/android-7.0-changes.html#ndk .
источник