Android senza GAPPS: Installare microG GmsCore

Le Google Applications (o GAPPS), comunemente preinstallate in quasi tutti gli smartphone Android oltre a permettere di usufruire di molti dei servizi Google (tra cui il Play Store), costituiscono delle dipendenze necessarie all’esecuzione di molte delle più comuni app Android.

Il progetto microG mira a fornire un sostituto opensource alle funzionalità offerte dalle GAPPS.

Android senza GAPPS

Vi sono una serie di motivi per non si possa o non si voglia installare le GAPPS.

In primo luogo i problemi di privacy. In Android è possibile monitorare e gestire gli accessi delle app ai propri dati personali. Tuttavia questo vale solo per quelle installate dall’utente e non per le applicazioni di sistema. E infatti le GAPPS costituiscono un filo diretto tra Google e il registro delle chiamate, gli SMS, il microfono, l’elenco di installazioni e disinstallazioni, i contatti, gli appuntamenti, e la posizione anche a GPS spento. Alcuni di questi dati possono essere inviati anche senza disporre di un account Google (in questo caso vengono associati ad un ID univoco).

In secondo luogo possono verificarsi situazioni di incompatibilità o bug che portano a problemi di performance e di batteria (wakelocks di troppo che impediscono al cellulare di passare alla modalità di risparmio energetico), e a continui messaggi di errore (finestre a comparsa che impediscono l’uso del cellulare). Cosa purtroppo non rara e difficile da mitigare, vista l’eterogeneità delle configurazioni hardware e software su cui vengono installate.

In altri casi semplicemente non si vuole installare software closed source (visto che comunque gestisce dati personali) o, a causa del fatto che a differenza di un software opensource non possono essere ricompilate, potrebbero non essere affatto disponibili per il proprio dispositivo e per la ROM in uso.

In tutti questi casi la soluzione immediata di non installarle affatto genera altri problemi. Ad esempio molte app non si avvieranno, altre mostreranno messaggi di errore, mentre alcune delle loro funzionalità potrebbero risultare non disponibili. Non sarà più possibile conoscere la propria posizione approssimativa attraverso il WiFi. Non sarà possibile scaricare applicazioni dal Play Store e supportarne gli sviluppatori acquistandole.

Installare microG GmsCore

GmsCore del progetto microG fornisce molte delle funzionalità delle Google Applications. Grazie ad esse sarà possibile:

  • installare ed avviare applicazioni che necessitano di Google Play Services;
  • usare applicazione che sfruttano Google Cloud Messaging;
  • usare app che necessiano di Google Maps API (sia v1 che v2);
  • accedere al Play Store.

Prerequisiti

Configurare F-Droid

Aprire Menu (i tre puntini) > Gestione dei repositori. Fare tap su “+” e compilare i campi con le seguenti informazioni:

  • Indirizzo repository: https://fdroid.o9i.de/
  • Impronta digitale: c93b9baccccccc973fbef19bea60733229c59ce79f54d04878b604baab502a0d

Installazione da F-Droid

Installare da F-Droid le seguenti app:

  • FakeGapps (opzionale per le suddette build di OmniROM);
  • microG Services Core (che potrebbe anche finire sotto la voce “μg UnifiedNlp (no GAPPS)“; in questo caso selezionare la versione con la dicitura “(microG vx.x)”);
  • microG Services Framework Proxy;
  • una (ed una sola) tra le seguenti alternative (disponibili sotto la voce “Android Market”):
    • Blankstore, ovvero un client Play Store opensource, con cui è possibile installare/aggiornare solo le applicazioni gratuite. Scegliere questa se non si è interessati alle app a pagamento;
    • Fakestore, un’app “vuota” che simula la presenza del Play Store per soddisfare le dipendenze di alcune app. Installare questa se non si è interessati affatto al Play Store;
    • in alternativa installare l’apk dell’app ufficiale Google Play Store (non disponibile su F-Droid) da altre fonti, come Aptoide; poi trasformarla in applicazione di sistema con l’app /system/app mover, quest’ultima disponibile su F-Droid;
  • per usufruire dei servizi di localizzazione a GPS spento, installare anche:
    • NominatimNlpBackend;
    • una o più tra le seguenti alternative (possono coesistere):
      • MozillaNlpBackend: posizionamento tramite WiFi fornito da Mozilla;
      • Apple UnifiedNlp Backend: posizionamento tramite WiFi, sfruttando i servizi Apple (più preciso, ma non privacy-friendly);
      • LocalGsmNlpBackend: posizionamento tramite segnale cellulare (non necessita nemmeno del WiFi, ma è il più impreciso).

Configurazione

Applicare le seguenti configurazioni (a seconda di cosa si è scelto di installare) e riavviare.

FakeGapps

Aprire l’app di Xposed, aprire la sezione “Moduli” e abilitare il segno di spunta sul modulo FakeGapps.

Blankstore

Se si è installato Blankstore, eseguire le seguenti operazioni:

  • installare Java sul PC (se non è già installato);
  • sempre sul PC scaricare il file android-checkin-1.0.jar da qui
    • su Linux/OSX aprire un terminale dove si è scaricato il file precedente ed eseguire il comando
      java -jar android-checkin-1.0.jar email password
      
      sostituendo email password con delle credenziali Google valide;
    • su Windows scaricare il file bla.bat da qui, assicurarsi che sia nella stessa cartella del file precedente ed aprirlo con un doppio click.
  • il programma dovrebbe restituire una serie di dati, tra cui AndroidId. Quindi appuntarne il valore;
  • Al primo avvio Blankstore chiederà all’utente una serie di dati, tra cui le credenziali dell’account Google usato nei punti precedenti e l’AndroidId.

microG Settings

Aprire l’app “microG Settings” e attivare entrame le caselle. In particolare la seconda permette di usare le app che dipendono da Google Cloud Messaging, come ad esempio Signal. Cambiando l’hearbeat interval con valori (in secondi) più grandi è possibile ridurre il consumo di batteria.

UnifiedNlp

Facendo tap sulla voce “unifiedNlp Settings” all’interno dell’app “microG Settings” è possibile gestire il servizio di posizionamento senza GPS. Fare quindi tap sulle due voci ed abilitare i backend desiderati.

LocalGsmNlpBackend

LocalGsmNlpBackend funziona rilevando l’ID delle torri cellulari e confrontandolo con un database offline. Il tutto funziona senza connessione internet. Tuttavia è necessario prima scaricare tale database.

Per prima cosa fare tap sull’icona ad ingranaggio relativo a “GSM Location Service” all’interno di UnifiedNlp Setting (contenuto nell’app “microG Settings”).

Recarsi in Settings, quindi spuntare la voce “Download chosen areas from lacess” e selezionare in “Areas” le regioni geografiche da scaricare. Lacells è meno aggiornato dell’alternativa (ossia il download diretto da OpenCellId), ma molto più veloce nel download.

Per avviare il download fare tap su “Update Database nell’home dell’app”.

Maps API v1

microG GmsCore fornisce solo le nuove Maps API (v2). Tuttavia alcune applicazioni potrebbero necessiare della vecchia versione (v1). Per installarle, flashare via recovery il file mapsapi.flashable.zip, scaricabile da qui.

Debug

Dopo aver riavviato, per verificare che tutto funzioni, aprire la voce “Self-Check” nell’app “microG Settings”. Che contiene un elenco delle funzionalità abilitate.

L’app “Push notification Tester”, scaricabile dal Play Store o da Aptoide, permette di verificare il corretto funzionamento di GCM.

Riferimenti

Commenti