Come installare APK da fonti sconosciute su Android
Ci sono principalmente due categorie di applicazioni Android.
- Applicazioni di sistema: installate quando il sistema viene inizializzato
- Applicazioni utente: installate da Play store, utilizzando ADB o copiando il file .apk nella scheda SD.
Seguono il processo di installazione passo dopo passo.
- AndroidManifest.xml viene analizzato, le informazioni vengono estratte e memorizzate in /data/system/packages.xml e /data/system/packages.list
- .apk file viene copiato in una directory specifica e viene creata una directory per la memorizzazione dei dati per questa app
L'analisi XML, l'analisi delle risorse e la copia del file .apk vengono effettuate da
PackageManageService.java
però la creazione della directory è fatta da
installd.c
PackageManageService.java comunica con installd.c tramite un socket locale, situato in /dev/socket/installato
Package dove il file .apk viene copiato è diverso per le app di sistema e le app utente. per le app di sistema è
/sistema/app/
dove per le app utente .apk copiato nel file .apk viene copiato in
/data/app
.dex file, che viene estratto dal file .apk, viene copiato in /data/dalvik-cache/.
Package Manager crea la directory dati /data/data// per memorizzare database, preferenze condivise, libreria nativa e dati cache
Credits : Android: Capire il processo di installazione dell'APK