Quali sono le differenze tra un'app di sistema e un'app utente?


28

Mentre giocavo con diverse ROM e usavo Titanium Backup, vedo che le app sono classificate in app di sistema e utente. Diversi sviluppatori di ROM affermano che Titanium Backup dovrebbe essere utilizzato solo per le app utente e non per le app di sistema, e quando procedo alla disinstallazione delle app di sistema, TiBu mi avvisa che la ROM potrebbe non funzionare correttamente.

A parte il fatto che le app degli utenti sono scaricabili tramite Market o altri mezzi, quali sono le differenze chiave tra i due?

Cosa c'è nelle app di sistema che le rendono più integrali al sistema operativo stesso?

Risposte:


20

/systemè di sola lettura senza root, quindi impedisce la disinstallazione di applicazioni da /system/appe /system/priv-app. Le applicazioni critiche vengono messe lì in modo che non possano essere disinstallate. Viene messo anche bloatware portante che non vogliono lasciarti rimuovere. L'ultima categoria di app può essere rimossa se si è rootati; il primo, non tanto.

/system/priv-appconsente inoltre alle app installate lì di utilizzare signatureOrSysteme altre autorizzazioni privilegiate. La risposta di Stephen ha alcuni esempi.

Per quanto riguarda il motivo per cui le app potrebbero essere critiche, ciò dipende dalla ROM. HTC Sense dipende fortemente dalle loro app integrate da ciò che sento, per esempio. Semplicemente non hanno progettato la loro interfaccia utente in modo tale che funzionasse in modo nativo con app di terze parti (o fallisse bene se mancavano le app di sistema). Altre app fanno essenzialmente parte del sistema operativo Android ma Google le ha codificate come app / servizi (probabilmente per motivi di incapsulamento e affidabilità).

Gli aggiornamenti per alcune app di sistema possono essere scaricati tramite il Play Store, come Google Maps. Se non è stato preinstallato come app di sistema sul dispositivo, è possibile utilizzare Titanium per convertirlo da un'app utente a un'app di sistema.


significa anche che un'app di sistema non può essere uccisa dai task killer ?? o che si avviano automaticamente se uccisi ??
ashishsony,

@ashishsony I servizi di sistema sono normalmente avviati automaticamente, sì, ma (la maggior parte?) le app / i servizi possono ancora essere uccisi. Ad esempio, posso uccidere il browser sul mio dispositivo. (Inserisci i soliti consigli su come i killer del compito sono cattivi.)
Matteo Leggi l'

Le app di sistema corrette sui dispositivi HTC (anche quelle come Dropbox, Facebook) sono troppo profondamente integrate con l'interfaccia utente Sense. Bisogna astenersi dal rimuoverli; anche la conversione di app utente in app di sistema non dovrebbe essere eseguita a meno che non sia strettamente necessario, poiché in alcune ROM potrebbero non terminare in condizioni di memoria insufficiente.
Ashesh Kumar Singh,

1
@tutta una differenza programmatica è che l'applicazione di sistema (priv-app) riceve una trasmissione di sistema anche è force_stop dalle impostazioni dell'applicazione, quando l'app non di sistema (user-app) non può ricevere alcuna trasmissione se è force_stop dalle impostazioni del dispositivo.
Zala Janaksinh,

22

Le altre risposte sono corrette, ma non evidenziano un paio di differenze:

permessi

Alle app di sistema viene concessa la possibilità di richiedere determinate autorizzazioni solo di sistema che non sono mai disponibili per le app utente. Questo non è lo stesso delle autorizzazioni root / sudo / su.

Un esempio che conosco e utilizzo quotidianamente è la possibilità di ripristinare il contatore delle notifiche di chiamate perse. Ho Go Dialer, che sostituisce il dialer di riserva e l'app di contatto (come si effettuano le telefonate). Quando mi manca una chiamata, Android me lo fa sapere con una notifica. Tuttavia, Go Dialer non può reimpostare questo contatore, anche se richiede tale autorizzazione quando si installa l'app. Android 2.2 e versioni precedenti consentono alle app utente di ripristinarlo, ma hanno reso questa autorizzazione un'autorizzazione accessibile solo dal sistema per Android 2.3

Spostando la mia app Go Dialer sulla partizione di sistema, è possibile ripristinare questo contatore. L'app root non è richiesta per l'app (tranne, ovviamente, per spostare effettivamente l'app nella partizione di sistema).

Un'altra autorizzazione di sistema è la possibilità di impostare la posizione GPS corrente. Ora, Android ha una preferenza in cui è possibile consentire posizioni simulate, quindi qualsiasi app di spoofing gps installata può dichiarare una posizione gps. Ma se l'app si trova nella partizione di sistema, le posizioni simulate possono essere disabilitate lasciando comunque che l'app falsifichi la posizione gps.

aggiornamenti

Le app di sistema possono essere aggiornate proprio come le app utente, ma l'aggiornamento non è mai integrato nella rom originale. Cioè, le app di sistema hanno la capacità unica di tornare alla versione esistente al momento dell'installazione della rom.

Passa a SD

Android consente agli utenti di spostarsi user app dalla memoria interna alla scheda SD. Le app di sistema non possono essere spostate e occupano sempre spazio interno. La maggior parte dei dispositivi (tutti?), Tuttavia, ha app utente interne su una partizione diversa, quindi la disinstallazione di un'app di sistema non ti darebbe più spazio per app utente (tranne la cache dalvik rimossa).

Recupererai un po 'di spazio se disinstalli eventuali aggiornamenti a un'app di sistema. Come notato, gli aggiornamenti non sono integrati con la rom e sono quindi memorizzati nello spazio utente. Neanche gli aggiornamenti possono essere spostati sulla scheda SD, ma se rimossi, lo spazio utente viene recuperato.

Come ti colpisce

Se sei un utente Android occasionale, probabilmente non ti imbatterai in scenari in cui l'app di sistema contro l'utente farebbe la differenza. Se sei un utente avanzato, probabilmente hai root e puoi quindi cambiare un'app di sistema in utente (e viceversa) se mai ti imbatti in una di queste situazioni.


1
Intendevi "Questo non è lo stesso delle autorizzazioni root / su"? Mi sembra di ricordarlo sudoe sunon sono gli stessi - almeno in Unix e Linux.
ChuongPham,

Hai ragione che su e sudo sono diversi in * nix. Ma sudoè più applicabile qui, perché sudo sta chiedendo i privilegi di root, mentre susta semplicemente chiedendo di cambiare utente. Per usare su, devi solo conoscere la password dell'account a cui stai passando; se non specifichi un account, allora stai chiedendo di diventare root. In Android, tuttavia, non esiste una password di root, né altri account, quindi suil comando noto agli utenti deve essere eseguito in un terminale per ottenere i privilegi di root.
Stephen Schrauger,

Ad ogni modo, aggiornerò la risposta per includerla su, poiché questo è ciò che alcuni utenti Android equivalgono a root.
Stephen Schrauger,

4

Le app di sistema sono app incluse nel sistema. Si trovano nella cartella / system / app.

La maggior parte di essi è richiesta per far funzionare il dispositivo. Un esempio di alcuni di questi sono il dialer, che configura tutta la connettività di rete e il browser, senza i quali non funzionerebbero visualizzazioni Web in-app.


1
Il dialer imposta la connettività di rete?
Matthew Leggi il

2
@MatthewRead Sì - Lo fa! L'attuale "Dialer" è un'attività separata situata nell'applicazione dialer. Dialer.apk è l'app che imposta la connettività: se si desidera provare, bloccare le app di archiviazione del dialer e del dialer, la rete non funzionerà.
Liam W,

È abbastanza strano!
Matthew Leggi il

Android è strano!
Liam W,

3

Vorrei aggiungere qualcosa nelle risposte sopra. Le app di sistema non possono essere eliminate in un ripristino di fabbrica completo, a differenza delle app utente. Quindi, se vuoi eliminare tutti i tuoi file personali ma sono troppi per essere eliminati convenientemente che un ripristino delle impostazioni di fabbrica è solo il più conveniente e hai app che vuoi conservare, puoi convertire quelle app in app di sistema in modo che abbiano vinto non viene cancellato durante il ripristino delle impostazioni di fabbrica.


1
Suggerimento interessante! Voglio spostare la mia musica sul sistema ora lol
FreeSoftwareServers il

2

Un'altra caratteristica delle app di sistema è che usano librerie native ( file libsomething.so ) dalla directory delle librerie di sistema comuni (in genere / system / lib o / system / lib64 ) e non dalla directory delle librerie private dell'app (ad es., / Data /app/com.example.HelloJni/lib/arm ). Prima di Android Nougat, le app utente erano libere di caricare e utilizzare le librerie native di sistema. In seguito sono state imposte restrizioni, consultare https://developer.android.com/about/versions/nougat/android-7.0-changes.html#ndk .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.