Які відмінності між системним додатком та користувацьким додатком?


28

Коли я бавився з різними ПЗУ і використовував резервне копіювання Titanium, я бачу, що програми класифікуються на системні та користувацькі програми. Кілька розробників ПЗУ заявляють, що резервну копію Titanium слід використовувати лише для програм користувачів, а не для системних додатків, і коли я переходжу до видалення системних програм, TiBu попереджає мене, що ПЗУ може працювати неправильно.

Окрім того, що користувацькі додатки можна завантажувати через Ринок чи якимись іншими засобами, які ключові відмінності між ними?

Що це стосується системних додатків, які роблять їх більш інтегральними до самої ОС?

Відповіді:


20

/systemє лише для читання без кореня, тому він запобігає видаленню програм із /system/appта /system/priv-app. Критичні програми розміщуються там, щоб їх неможливо було видалити. Туди ж розміщують програмне забезпечення, що не хоче видаляти вас. Останню категорію додатків можна видалити, якщо ви вкорінені; колишній, не дуже.

/system/priv-appтакож дозволяє програмам, встановленим там, використовувати signatureOrSystemта інші привілейовані дозволи. Відповідь Стівена має кілька прикладів.

Що стосується того, чому програми можуть бути критичними, це залежить від ROM. Sense HTC сильно залежить від їх вбудованих додатків, наприклад, від того, що я чую, наприклад. Вони просто не спроектували свій інтерфейс користувача таким чином, щоб він працював у власних силах із сторонніми додатками (або непогано працював, якщо системних програм не вистачало). Інші програми по суті є частиною ОС Android, але Google кодує їх як додатки / послуги (можливо, з інкапсуляції та надійності).

Оновлення для деяких системних додатків можна завантажувати через Play Store, наприклад Google Maps. Якщо він не був попередньо встановлений як системний додаток на вашому пристрої, ви можете використовувати Titanium для перетворення його з користувацького додатка в системний додаток.


це також означає, що системне додаток не може бути вбито вбивцями завдань ?? або що вони автоматично запустилися, якщо вбили ??
ashishsony

Служби системи @ashishsony зазвичай автозапускаються, так, але (більшість?) додатки / послуги все одно можуть бути вбиті. Наприклад, я можу вбити браузер на своєму пристрої. (Введіть звичайну пораду про те, як вбивці завдань погані.)
Метью читайте

Правильні, системні програми на пристроях HTC (навіть такі, як Dropbox, Facebook) занадто глибоко інтегровані з інтерфейсом Sense. Треба утримуватися від їх видалення; також не слід здійснювати перетворення програм користувача в системні додатки, якщо це не дуже необхідно, оскільки в деяких ПЗУ вони можуть не закінчуватися в умовах низької пам'яті.
Ashesh Kumar Singh

1
@ всі одна програмна відмінність полягає в системному (приватному додатку) додатку, який отримує системну трансляцію, навіть це сила_ стоп від налаштувань програми, коли (користувальницький додаток) несистемний додаток не може отримувати будь-яку трансляцію, якщо примусовий_стоп з налаштувань пристрою.
Zala Janaksinh

22

Інші відповіді правильні, але не вказують на пару відмінностей:

Дозволи

Системним програмам надається можливість запитувати певні дозволи лише для системи, які ніколи не доступні для користувачів. Це не те саме, що дозволи root / sudo / su.

Один із прикладів, які я знаю і використовую щодня - це можливість скидання лічильника сповіщень про пропущені дзвінки. У мене є Go Dialer, який замінює додаток для набору номерів і контактну програму (як здійснювати телефонні дзвінки). Коли я пропускаю дзвінок, android дає мені знати про це з повідомленням. Однак Go Dialer заборонено скидати цей лічильник, навіть якщо він вимагає цього дозволу під час встановлення програми. Android 2.2 та новіші версії дозволяють програмам користувача скинути його, але зробили цей дозвіл дозволом, доступним лише для системи для Android 2.3

Перемістивши додаток Go Dialer до системного розділу, дозволено скинути цей лічильник. Корінь не потрібен додатку (за винятком, звичайно, фактичного переміщення програми до системного розділу).

Ще один системний дозвіл - це можливість встановити поточне розташування gps. Тепер Android має перевагу, де ви можете дозволити знущання над розташуванням, тому будь-яке встановлене вами додаток для підробки gps може оголосити місце розташування GPS. Але якщо додаток знаходиться в системному розділі, макет розташування може бути вимкнено, залишаючи додаток підробляти розташування gps.

Оновлення

Системні програми можна оновлювати так само, як користувацькі програми, але оновлення ніколи не інтегрується в оригінальний диск. Тобто системні програми мають унікальну можливість повернутися до тієї версії, яка існувала при першому встановленні рому.

Перехід до SD

Android дозволяє користувачам переміщувати userпрограми з внутрішньої пам’яті на SD-карту. Системні програми не можна переміщувати і завжди займають деякий внутрішній простір. Однак більшість пристроїв (все?) Мають внутрішні додатки для користувачів на іншому розділі, тож видалення системного додатку не дасть вам більше місця для користувацьких програм (крім видалення кеша dalvik).

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

Як це впливає на вас

Якщо ви випадковий користувач Android, ви, швидше за все, не зіткнетесь із сценаріями, коли система та користувальницьке додаток змінили б значення. Якщо ви є досвідченим користувачем, ви, ймовірно, маєте root і, таким чином, можете змінити системну програму на користувача (і навпаки), якщо ви коли-небудь зіткнетесь з однією з таких ситуацій.


1
Ви мали на увазі "Це не те саме, що дозволи root / su"? Здається, я пам’ятаю, що це sudoі suне те саме - принаймні в Unix та Linux.
ChuongPham

Ви маєте рацію, що су і судо різні * нікс. Але sudoтут більше застосовано, тому що sudo запитує кореневі привілеї, тоді suяк просто просить переключити користувача. Щоб використовувати su, вам потрібно лише знати пароль облікового запису, на який ви переходите; якщо ви не вказали обліковий запис, ви просите стати root. В Android, однак, немає ні пароля root, ні будь-яких інших облікових записів, так suце відома користувачами команда для запуску в терміналі для отримання привілеїв root.
Стівен Шраугер

У будь-якому випадку я оновлю відповідь, щоб включити su, оскільки саме це деякі користувачі Android прирівнюють до root.
Стівен Шраугер

4

Системні програми - це додатки, які входять в систему. Вони розташовані в папці / system / app.

Переважна більшість із них потрібні для того, щоб пристрій запустився. Прикладом деяких із них є набір номера, який встановлює все підключення до мережі та веб-переглядач, без якого не працюватиме жодне веб-перегляд у програмі.


1
Дозвон встановлює мережеве підключення?
Матвій

2
@MatthewRead Так - це так! Фактичний "Набір номера" - це окрема діяльність, що знаходиться в додатку набору номера. Dialer.apk - це програма, яка налаштовує підключення - якщо ви хочете підтвердити, заморожте програми для зберігання дозвону і дозвону, мережа не працюватиме.
Liam W

Це досить дивно!
Матвій

Android дивний!
Ліам Ш

3

Я хотів би додати щось у вищенаведені відповіді. Системні програми не можна видалити в повному обсязі до заводських налаштувань, на відміну від програм користувача. Тож якщо ви хочете видалити всі свої особисті файли, але їх занадто багато, щоб їх було зручно видалити, щоб скинути заводські налаштування лише найзручніше, і у вас є додатки, які ви хочете зберегти, ви можете конвертувати ці програми в системні програми, щоб вони виграли не буде стерто під час скидання заводу.


1
Цікава порада! Я хочу перенести свою музику в систему зараз lol
FreeSoftwareServers

2

Ще одна особливість системних додатків полягає в тому, що вони використовують рідні бібліотеки ( файли 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 .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.