Ponieważ bawiłem się różnymi ROMami i korzystałem z Titanium Backup, widzę, że aplikacje są podzielone na aplikacje systemowe i użytkownika. Kilku programistów ROM twierdzi, że Titanium Backup powinien być używany tylko do aplikacji użytkownika, a nie do aplikacji systemowych, a kiedy przystąpię do odinstalowywania aplikacji systemowych, TiBu ostrzega mnie, że pamięć ROM może nie działać poprawnie.
Oprócz tego, że aplikacje użytkownika można pobierać za pośrednictwem usługi Market lub w inny sposób, jakie są kluczowe różnice między nimi?
Co takiego jest w aplikacjach systemowych, które sprawiają, że są one bardziej zintegrowane z samym systemem operacyjnym?
źródło
Pozostałe odpowiedzi są poprawne, ale nie wskazują kilku różnic:
Uprawnienia
Aplikacje systemowe mają możliwość żądania określonych uprawnień tylko do systemu, które nigdy nie są dostępne dla aplikacji użytkownika. To nie to samo, co uprawnienia root / sudo / su.
Jednym z przykładów, które znam i używam codziennie, jest możliwość zresetowania licznika powiadomień o nieodebranych połączeniach. Mam Go Dialer, który jest zamiennikiem zapasowego dialera i aplikacji kontaktowej (jak dzwonisz). Kiedy przegapię połączenie, Android informuje mnie o tym za pomocą powiadomienia. Jednak Go Dialer nie może zresetować tego licznika, nawet jeśli poprosi o to pozwolenie podczas instalowania aplikacji. W Androidzie 2.2 i wcześniejszych aplikacje użytkowników mogły go zresetować, ale uczyniły to uprawnienie dostępnym tylko dla systemu uprawnieniem dla Androida 2.3
Przenosząc moją aplikację Go Dialer na partycję systemową, można zresetować ten licznik. Root nie jest wymagany dla aplikacji (z wyjątkiem oczywiście przeniesienia aplikacji na partycję systemową).
Innym uprawnieniem systemu jest możliwość ustawienia bieżącej lokalizacji GPS. Teraz Android ma preferencję, w której możesz zezwolić na fałszywe lokalizacje, więc każda zainstalowana aplikacja fałszowania GPS może zadeklarować lokalizację GPS. Ale jeśli aplikacja znajduje się na partycji systemowej, można wyłączyć fałszywe lokalizacje, jednocześnie pozwalając aplikacji sfałszować lokalizację GPS.
Aktualizacje
Aplikacje systemowe mogą być aktualizowane tak jak aplikacje użytkownika, ale aktualizacja nigdy nie jest zintegrowana z oryginalnym ROM. Oznacza to, że aplikacje systemowe mają unikalną możliwość przywrócenia wersji, która istniała podczas pierwszej instalacji ROM.
Przenieś na kartę SD
Android pozwala użytkownikom przenosić
user
aplikacje z pamięci wewnętrznej na kartę SD. Aplikacje systemowe nie mogą być przenoszone i zawsze zajmują trochę przestrzeni wewnętrznej. Jednak większość (wszystkich?) Urządzeń ma wewnętrzne aplikacje użytkownika na innej partycji, więc odinstalowanie aplikacji systemowej nie zapewniłoby więcej miejsca na aplikacje użytkownika (poza usuniętą pamięcią podręczną dalvik).Odzyskasz trochę miejsca, jeśli odinstalujesz jakiekolwiek aktualizacje aplikacji systemowej. Jak wspomniano, aktualizacje nie są zintegrowane z ROM-em i dlatego są przechowywane w przestrzeni użytkownika. Aktualizacje również nie mogą zostać przeniesione na kartę SD, ale jeśli zostaną usunięte, przestrzeń użytkownika zostanie odzyskana.
Jak to na ciebie wpływa
Jeśli jesteś zwykłym użytkownikiem Androida, prawdopodobnie nie spotkasz się ze scenariuszami, w których aplikacja system kontra użytkownik zrobiłaby różnicę. Jeśli jesteś zaawansowanym użytkownikiem, prawdopodobnie masz root, a zatem możesz zmienić aplikację systemową na użytkownika (i odwrotnie), jeśli kiedykolwiek spotkasz się z jedną z tych sytuacji.
źródło
sudo
isu
nie są takie same - przynajmniej w systemach Unix i Linux.sudo
ma to większe zastosowanie w tym przypadku, ponieważ sudo prosi o uprawnienia roota, podczas gdysu
po prostu prosi o zmianę użytkownika. Aby korzystać z su, wystarczy znać hasło do konta, na które się przełączasz; jeśli nie określisz konta, poprosisz o rootowanie. W systemie Android nie ma jednak hasła roota ani żadnych innych kont, więcsu
użytkownicy znają polecenie uruchamiania w terminalu w celu uzyskania uprawnień roota.su
, ponieważ to właśnie niektórzy użytkownicy Androida utożsamiają z rootowaniem.Aplikacje systemowe to aplikacje wchodzące w skład systemu. Znajdują się one w folderze / system / app.
Zdecydowana większość z nich jest wymagana do uruchomienia urządzenia. Przykładem niektórych z nich jest dialer, który konfiguruje całą łączność sieciową i przeglądarka, bez których nie działałyby żadne widoki internetowe w aplikacji.
źródło
Chciałbym dodać coś do powyższych odpowiedzi. W przeciwieństwie do aplikacji użytkownika nie można usunąć aplikacji systemowych po pełnym przywróceniu ustawień fabrycznych. Jeśli więc chcesz usunąć wszystkie swoje pliki osobiste, ale jest ich zbyt wiele, aby można je było wygodnie usunąć, aby przywrócenie ustawień fabrycznych było najwygodniejsze, a masz aplikacje, które chcesz zachować, możesz przekonwertować je na aplikacje systemowe, aby wygrały nie zostaną usunięte podczas przywracania ustawień fabrycznych.
źródło
Inną cechą aplikacji systemowych jest to, że używają bibliotek natywnych ( plików libsomething.so ) ze wspólnego katalogu bibliotek systemowych (zazwyczaj / system / lib lub / system / lib64 ), a nie z katalogu bibliotek prywatnych aplikacji (np. / Data /app/com.example.HelloJni/lib/arm ). Przed Androidem Nougat aplikacje użytkownika mogły swobodnie ładować i używać rodzimych bibliotek systemowych. Ograniczenia zostały nałożone później, patrz https://developer.android.com/about/versions/nougat/android-7.0-changes.html#ndk .
źródło