Domanda:
Implementazione open source di Google Play Services
Nicolas Raoul
2014-03-10 11:20:37 UTC
view on stackexchange narkive permalink

Google Play Services è una libreria per Android che offre vari gadget, ad esempio per la geolocalizzazione.

Mentre Android è open source, Google Play Services è proprietario.
Molti sviluppatori ignorano questa differenza e collegano le loro app a Google Play Services, rendendole inutilizzabili su dispositivi 100% Open Source. Tali app spesso non vengono installate o forzate la chiusura quando tentano di accedere a Google Play Services.

Esiste un'implementazione open source di Google Play Services?
O almeno un mock / stub che finge Google Play Services è presente?

Non avendo alcuna esperienza con esso, non posso farne una risposta; ma molto probabilmente stai cercando [NOGAPPS] (http://forum.xda-developers.com/showthread.php?t=1715375). Ancora in fase di sviluppo, non tutte le parti sono ancora pronte, ma sembra promettente.
Una cosa del genere potrebbe non esistere. Vedere [questo articolo] (http://arstechnica.com/gadgets/2013/10/googles-iron-grip-on-android-controlling-open-source-by-any-means-necessario/) che esplora la situazione come dello scorso autunno.
Google Play Services è ciò che consente al tuo telefono di funzionare. Ricordo di aver letto di recente che tutte le applicazioni web richiedono Google Play Services per funzionare ora. Google vuole ancora un pezzo dei sistemi operativi Android non di serie. E l'articolo parlava di Google che utilizza i servizi di gioco per prendere di nuovo un po 'più di controllo su Android. Sì, Android è gratuito e open source, ma Google ha ancora bisogno di Google Play Services a parte l'esperienza. Ho trovato l'articolo che ho trovato di nuovo [su ArsTechnica] (http://arstechnica.com/gadgets/2013/09/balky-carriers-and-slow-oems-step-aside-google-is-defragging-android/ )
@Traven: "* tutte le applicazioni web richiedono che Google Play Services funzioni *" ← È sbagliato. I dispositivi senza Play Services possono utilizzare applicazioni Web e anche la maggior parte delle applicazioni native.
Due risposte:
Izzy
2014-04-26 00:14:49 UTC
view on stackexchange narkive permalink

Come esplicitamente richiesto dall'OP, ecco la mia risposta, con la limitazione dell'esperienza mancante.

Dichiarazione di non responsabilità in vista:

Non ho informazioni personali esperienza con quanto segue. È solo nella mia lista di cose da provare per un po ', quindi ho controllato solo i dettagli.

La risposta:

NOGAPPS è, secondo la sua descrizione, esattamente quello che stai cercando. Il progetto mira a fornire un'API Android con esattamente la stessa interfaccia fornita dal Google Services Framework (GSF), con la differenza che utilizzano altri servizi come backend. Questi servizi sono realmente Open Source, non proprietari, quindi il codice può essere esaminato liberamente e può essere stabilito un livello di fiducia.

Parti del progetto:

  • Posizione di rete:
    licenza Apache. Utilizza un database locale (archiviato su SDCard) o il database Apple. Pensavo di ricordare qualcosa dell'utilizzo di OpenCellID qui, ma almeno l'articolo XDA collegato non lo afferma. State: Release (cioè stabile)
  • API di Google Maps v1:
    LGPL. Utilizza OpenStreetMap come backend. Stato: Beta
  • BlankStore:
    client open source di Google Play Store. Licenza Apache. Stato: Interrotto

Non utilizzabile, ma in lavorazione:

  • LoginService. Stato: dev
  • Framework dei servizi. Stato: dev
  • API di Maps v2. Stato: sconosciuto.

Sebbene utilizzi altri backend, NOGAPPS presenta la stessa interfaccia. Quindi le app che si affidano a un codice Google proprietario per funzionare non dovrebbero notarlo, ma utilizzando in modo trasparente i pendenti Open Source offerti. Ovviamente solo quando disponibile (ad esempio LoginService non è ancora disponibile, quindi non può funzionare). Non ho idea se ci siano "interfacce fittizie" per cose non ancora completate (per far pensare alle app, ad esempio, il LoginService è lì, ma attualmente non è possibile raggiungere alcun server - quindi non si bloccano ma mancano solo del corrispondente funzionalità).

A me suona come una cosa brillante. E se lo avessi saputo un po 'prima (prima di eseguire nuovamente il flashing del mio ultimo dispositivo), l'avevo provato al posto delle GApp :)

Per ulteriori informazioni, dettagli sullo sviluppo in corso, ecc., Fare riferimento a la pagina XDA collegata del progetto NOGAPPS.

NOGAPPS: Help develop an Open Source replacement for Google Play Services

PS: potresti anche voler vedere [Android senza Google 5: libera il tuo Droid!] (Http://android.izzysoft.de/articles/named/android-without-google-5), ho iniziato a usarlo: )
Sembra che NOGAPPS si sia trasformato in microG: https://microg.org/
@TinMan non solo sembra, ma è un dato di fatto. Il passaggio è avvenuto più di un anno fa, ma solo dopo aver pubblicato questa risposta :) Ora puoi trovarlo anche su Github.
@Izzy ottima risposta, va bene se faccio riferimento a microG, lo sto attualmente usando e tutto funziona bene incluso il playstore nativo, solo un po 'di problemi con la geolocalizzazione che a volte non è accurata?
@xavier_fakerat µG è il successore del progetto NOGAPPS. Nota che questa risposta è del 2014, dove µG non esisteva ancora :) Ed è molto più semplice da installare, ovviamente :) Per i dettagli, [ho scritto un articolo] (https://android.izzysoft.de/articles/ named / android-without-google-5a) qualche tempo fa potresti voler fare riferimento.
AilibjjfpuCMT Grazie
xavier_fakerat
2017-04-17 01:49:07 UTC
view on stackexchange narkive permalink

µg Project (brillantemente descritto da Izzy sul suo sito web)

MaR-V-iN ha iniziato a sviluppare quello che ha chiamato il pacchetto NOGAPPS: un insieme di applicazioni e framework con l'obiettivo di colmare il vuoto del pacchetto gapps mancante. Questo progetto è ora proseguito con il nome µg Project.

L'idea principale di questo progetto era creare un sostituto gratuito per tutte le parti proprietarie di Google iniettate nell'ecosistema Android.

Si tratta principalmente di due componenti oggigiorno, entrambi chiamati Play Services:

  • la libreria client di servizi di riproduzione, che viene iniettata nelle applicazioni dai loro sviluppatori e da GmsCore ,

  • il componente di servizio utilizzato da questa libreria. I servizi di gioco includono più o meno tutte le nuove funzionalità proprietarie di Android.

Questi componenti sono anche riassunti in 3 parti come:

  1. GmsCore corrisponde più o meno ai servizi di Google

  2. GsfProxy integra il core con Google Cloud Messaging per altre app

  3. FakeStore o in alternativa Blank Store o persino Playstore nativo

Geolocalizzazione

Attualmente, Android ha due API per la geolocalizzazione. Una di queste è l'API di localizzazione open source implementata da UnifiedNlp, l'altra è l'API di localizzazione dei servizi di riproduzione proprietaria.

UnifiedNlp da solo non fornisce alcuna funzionalità , ma funge da middleware per più backend. Tutti possono essere scaricati e aggiornati utilizzando F-Droid

.

Di seguito è riportato un elenco di backend per la geolocalizzazione e la geocodifica (inversa) disponibili:

  • AppleWifiNlpBackend - backend che utilizza il servizio Apple per risolvere le posizioni Wi-Fi.

  • OpenWlanMapNlpBackend - backend che utilizza OpenWlanMap.org per risolvere la posizione dell'utente.

  • OpenBmapNlpBackend - backend che utilizza openBmap per risolvere la posizione dell'utente.

  • MozillaNlpBackend: backend che utilizza il servizio di localizzazione di Mozilla per risolvere la posizione dell'utente.

  • PersonalWifiBackend - Provider di posizione locale per AP Wi-Fi che utilizzano un database generato sul telefono. - Back-end del provider di posizione basato su opencellid locale

  • LocalGSMBackend: provider di posizione locale per celle gsm con file di database separato (lacells.db)
  • NominatimGeocoderBackend

Istruzioni per l'installazione :

https://github.com/microg/android_packages_apps_UnifiedNlp/blob/master/README.md Thread XDA dedicato : http://forum.xda-developers.com/android/apps-games/app-g-unifiednlp-floss-wi-fi-cell-tower-t2991544

Utilizzo di app che richiedono API "Play Services"

Di seguito è riportato un piccolo elenco di cose che potresti incontrare quando non hai Google Play Services:

  • Alcune app non vengono installate a causa della mancanza dell'API di Google Maps.

  • Alcune app fc (chiusura forzata) all'avvio in pausa di problemi relativi all'API di Google Maps o al controllo della licenza di Google Play mancanti.

  • Alcune app codificano come link a diverse app Google e quindi forzano la chiusura o reagiscono in modo imprevisto in alcuni casi.

Ecco µg GmsCore. Questa app fornisce un'implementazione di alcuni servizi di gioco.

Attualmente lo sviluppatore principale concentra il suo sviluppo solo sulle porzioni di servizi di gioco che vengono utilizzati molto:

  • LoginService: consente di accedere a un account Google (OAuth)

  • Google Cloud Messaging: GCM (che sostituisce C2DM) è un servizio di notifica push in esecuzione in sfondo sul tuo telefono. Ascolta i messaggi, archiviati dalle app che lo utilizzano, nei server GCM di Google (integrato da GsfProxy”)

Perché funzioni, il tuo dispositivo deve fare il check-in in modo che le app sappiano per quale account Google devono inviare i loro messaggi.

Play Services Location API

API di Google Maps (v2): traduce le chiamate all'API di Google Maps in chiamate a OpenScienceMap. Visualizza una mappa grazie a una libreria sviluppata nell'ambito del progetto OpenScienceMap.

La tua ROM AOSP pura deve supportare il pacchetto µg falsificazione della firma . È il caso di Omnirom ( https://gerrit.omnirom.org/#/c/8672/ + https://gerrit.omnirom.org/#/c/13136/) e sarà presto disponibile in Cyanogenmod ( http://review.cyanogenmod.org/#/c/106162/).

  • In alternativa FakeGApps con il modulo Xposed.

  • ROM 4.4+ priva di GAPPS

Download:

Sono disponibili nuove build qui: http://files.brnmod.rocks/apps/GmsCore/Latest/. Getplay-services-core-debug.apk e qui: https://github.com/microg

F-Droid: ora disponibile : microG Repo F-Droid ( https://microg.org/download.html)

Utilizzo:

Questa app crea un provider di account denominato Google. Puoi configurarlo con un account Google. Una volta effettuato l'accesso, µg GmsCore procede al check-in del dispositivo, a meno che non lo si disabiliti. Crea un identificatore univoco per i servizi Google e rimuove i bit di identificazione diversi dal nome del tuo account Google da questi dati. Per alcuni motivi, può accadere che il check-in scada. Ecco alcuni trucchi indipendenti che puoi utilizzare per forzare i controlli di nuovi dispositivi: componi * # * # 2432546 # * # * (che sta per # # CHECKIN # # ) Se non vuoi chiamare o non puoi perché non c'è un dialer sul tuo dispositivo, usa una shell ADB come root e digita questo:

  # am broadcast - a android.provider.Telephony.SECRET_CODE -d android_secret_code: // 2432546  

Oppure ... puoi semplicemente uccidere / riavviare il processo di µg GmsCore. OS Monitor può aiutarti a farlo.

Recupero di app da "Play Store"

Esistono molte soluzioni per ottenere applicazioni (APK) senza avere installato Google Play Store. Tuttavia la maggior parte di loro si basa su mercati alternativi, oppure devi ottenere APK da un programma installato sul tuo computer. Anche il Playstore nativo funziona ancora (lo uso senza problemi) in alternativa c'è il blankstore.

Codice : https://github.com/mar-v-in/BlankStore

Build: https://github.com/mar-v-in/BlankStore / releases

Istruzioni: http://forum.xda-developers.com/showpost.php?p=29115263&postcount=84

Blankstore deve essere installato come app di sistema.

Remarks:

Come Izzy ha suggerito nei commenti, questo è uno dei modi più semplici per implementare i servizi Google Play open source e funziona perfettamente

Vorrei esprimere la mia sincera gratitudine a Izzy per avermi permesso di includere queste informazioni aggiornate su questo nuovo progetto riportato da NoGApps e facendo riferimento al suo materiale.

Riferimenti

  1. Android senza Google: microG
  2. Utilizzo di Android senza Google Apps
Bel riassunto, Xavier! Alcuni suggerimenti, però: 1) non è OpenStreetMap? Non ho mai sentito parlare di OpenScienceMap :) 2) µG ha [il suo F-Droid Repo] (https://microg.org/fdroid/repo) che può essere utilizzato (questo è quello che faccio). // Grazie per i crediti e i riferimenti :)
@Izzy Ho rivisto l'articolo, sì, c'è un progetto Open Science e ho incluso il link
Grazie per l'aggiornamento! E sono corretto riguardo a OpenScienceMap. Ho sempre pensato che µG utilizzi OpenStreetMap, ma sembra che tu abbia ragione (come conferma un rapido controllo).
@Izzy ma credo anche che ci sia un'implementazione openstreet o forse mi sto confondendo con opencellid. Ma grazie ehi!
NOGAPPS utilizzava OpenStreetMap. Sembra che Marvin sia passato a OpenScienceMap. E OpenCellId è utilizzato dai backend GSM UnifiedNlp :)
VLC ha scritto una libreria Chromecast sostitutiva open source anche https://geoffreymetais.github.io/features/vlc-30/#why-chromecast-support-took-so-long


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...