Google Play Services es una biblioteca para Android que ofrece varias ventajas, por ejemplo, para la geolocalización .
Si bien Android es de código abierto, Google Play Services es propietario .
Muchos desarrolladores ignoran esta diferencia y vinculan sus aplicaciones a Google Play Services, lo que las hace inutilizables en dispositivos que son 100 % de código abierto. Estas aplicaciones a menudo no se instalan o se cierran a la fuerza cuando intentan acceder a Google Play Services.
¿Existe alguna implementación de código abierto de Google Play Services?
¿O al menos un simulacro/stub que finge que Google Play Services está presente?
Proyecto µg (brillantemente descrito por Izzy en su sitio web)
MaR-V-iN comenzó a desarrollar lo que llamó el paquete NOGAPPS: un conjunto de aplicaciones y marcos con el objetivo de llenar el vacío del paquete gapps faltante. Este proyecto ahora continúa bajo el nombre de µg Project.
La idea principal de este proyecto era construir un reemplazo gratuito para todas las partes propietarias de Google inyectadas en el ecosistema de Android.
Estos son principalmente dos componentes en estos días, ambos llamados Play Services:
los servicios de reproducción de la biblioteca del cliente, que sus desarrolladores y GmsCore inyectan en las aplicaciones ,
el componente de servicio utilizado por esta biblioteca. Los servicios de reproducción incluyen más o menos todas las funciones patentadas de Android más nuevas.
Estos componentes también se resumen en 3 partes como:
GmsCore corresponde más o menos a los Servicios de Google
GsfProxy complementa el núcleo con Google Cloud Messaging para otras aplicaciones
FakeStore o alternativamente Blank Store o incluso Playstore nativo
Geolocalización
Actualmente, Android tiene dos API para geolocalizar. Una de ellas es la API de ubicación de código abierto implementada por UnifiedNlp , la otra es la API de ubicación de Play Services patentada.
UnifiedNlp por sí solo no proporciona ninguna función, pero actúa como un software intermedio para múltiples backends. Todos ellos se pueden descargar y actualizar usando F-Droid
.
Aquí hay una lista de backends para geolocalización y geocodificación (inversa) disponibles:
AppleWifiNlpBackend: backend que utiliza el servicio de Apple para resolver ubicaciones wifi.
OpenWlanMapNlpBackend: backend que usa OpenWlanMap.org para resolver la ubicación del usuario.
OpenBmapNlpBackend: backend que usa openBmap para resolver la ubicación del usuario.
MozillaNlpBackend: backend que utiliza el servicio de ubicación de Mozilla para resolver la ubicación del usuario.
PersonalWifiBackend: proveedor de ubicación local para puntos de acceso WiFi que utilizan una base de datos generada en el teléfono. LocalGSMLocationProvider: servidor de proveedor de ubicación local basado en opencellid
Instrucciones de instalación :
https://github.com/microg/android_packages_apps_UnifiedNlp/blob/master/README.md Subproceso XDA dedicado: http://forum.xda-developers.com/android/apps-games/app-g-unifiednlp-floss-wi -fi-cell-tower-t2991544
Uso de aplicaciones que requieren API de 'Servicios de juego'
Aquí hay una pequeña lista de cosas que puede encontrar cuando no tiene los servicios de Google Play:
Algunas aplicaciones no se instalan porque falta la API de Google Maps.
Algunas aplicaciones fc (cierre forzado) en el inicio debido a problemas de verificación de licencia de Play o API de Maps faltantes.
Algunas aplicaciones tienen enlaces codificados a varias aplicaciones de Google y, por lo tanto, fuerzan el cierre o reaccionan inesperadamente en ciertos casos.
Aquí viene µg GmsCore. Esta aplicación proporciona una implementación de algunos servicios de juego.
Actualmente, el desarrollador principal enfoca su desarrollo solo en las partes de los servicios de juego que se usan mucho:
LoginService: le permite iniciar sesión en una cuenta de Google (OAuth)
Google Cloud Messaging: GCM (que reemplaza a C2DM) es un servicio de notificación automática que se ejecuta en segundo plano en su teléfono. Escucha los mensajes, almacenados por las aplicaciones que lo utilizan, en los servidores GCM de Google (complementado por GsfProxy )
Para que esto funcione, su dispositivo debe estar registrado para que las aplicaciones puedan saber a qué cuenta de Google deben enviar sus mensajes.
API de ubicación de servicios de reproducción
API de mapas (v2): convierte las llamadas a la API de Google Maps en llamadas a OpenScienceMap. Muestra un mapa gracias a una librería desarrollada dentro del proyecto OpenScienceMap.
Requisitos :
Su ROM AOSP pura debe ser compatible con la falsificación de firmas de paquetes µg . Es el caso de Omnirom ( https://gerrit.omnirom.org/#/c/8672/ + https://gerrit.omnirom.org/#/c/13136/ ) y próximamente en Cyanogenmod ( http: //review.cyanogenmod.org/#/c/106162/ ).
Alternativamente FakeGApps con módulo Xposed.
4.4+ ROM sin GAPPS
Descargar:
Las compilaciones nuevas están disponibles aquí: http://files.brnmod.rocks/apps/GmsCore/Latest/ . Obtenga play-services-core-debug.apk y aquí: https://github.com/microg
F-Droid: ahora disponible : repositorio microG F-Droid ( https://microg.org/download.html )
Uso:
Esta aplicación crea un proveedor de cuentas llamado Google. Puedes configurarlo con una cuenta de Google. Una vez que haya iniciado sesión, µg GmsCore procede al registro del dispositivo, a menos que lo deshabilite. Crea un identificador único para los servicios de Google y elimina bits de identificación que no sean el nombre de su cuenta de Google de estos datos. Por alguna razón, puede suceder que el registro caduque. Aquí hay algunos trucos independientes que puede usar para forzar el registro de nuevos dispositivos: Redactar
*#*#2432546#*#*
(que significa # #CHECKIN# # ) Si no quiere marcar o no puede porque no hay un marcador en su dispositivo, use un shell ADB como root y escriba esto:# am broadcast -a android.provider.Telephony.SECRET_CODE -d android_secret_code://2432546
O... puede matar/reiniciar el proceso de µg GmsCore. OS Monitor puede ayudarlo a hacerlo.
Obtener aplicaciones de 'Play Store'
Hay muchas soluciones para conseguir aplicaciones (APK) sin tener instalado Google Play Store. Sin embargo, la mayoría de ellos dependen de mercados alternativos, o debe obtener APK de un programa instalado en su computadora. Incluso el Playstore nativo todavía funciona (lo uso sin problemas) alternativamente hay un almacén en blanco.
Código: https://github.com/mar-v-in/BlankStore
Compilaciones: https://github.com/mar-v-in/BlankStore/releases
Instrucciones: http://forum.xda-developers.com/showpost.php?p=29115263&postcount=84
Blankstore debe instalarse como una aplicación del sistema.
Observaciones:
Como sugirió Izzy en los comentarios, esta es una de las formas más fáciles de implementar los servicios de código abierto de Google Play y funciona a la perfección.
Me gustaría expresar mi más sincero agradecimiento a Izzy por permitirme incluir esta información actualizada sobre este nuevo proyecto transferido de NoGApps y hacer referencia a su material.
Referencias
Como lo solicitó explícitamente el OP, aquí viene mi respuesta, con la restricción de la experiencia faltante.
No tengo experiencia personal con lo siguiente. Solo está en mi lista de "cosas para probar" por un tiempo, así que solo verifiqué los detalles.
NOGAPPS es, según su descripción, exactamente lo que estás buscando. El proyecto tiene como objetivo proporcionar una API de Android con exactamente la misma interfaz que proporciona Google Services Framework (GSF), con la diferencia de que utilizan otros servicios como backends. Estos servicios son realmente de código abierto, no propietarios y, por lo tanto, el código se puede investigar libremente y se puede establecer un nivel de confianza.
Partes del proyecto:
No utilizable, pero en proceso:
Aunque usa otros backends, NOGAPPS presenta la misma interfaz. Por lo tanto, las aplicaciones que dependen de algún código patentado de Google para funcionar no deberían notarlo, pero utilizan de forma transparente los colgantes de código abierto que se ofrecen. Por supuesto, solo cuando esté disponible (por ejemplo, LoginService aún no está disponible, por lo que no puede funcionar). No tengo idea de si hay "interfaces ficticias" para cosas que aún no se han completado (para que las aplicaciones piensen, por ejemplo, que el servicio de inicio de sesión está ahí, pero actualmente no se puede acceder a ningún servidor, por lo que no fallan sino que simplemente carecen del correspondiente funcionalidad).
Para mí, eso suena como algo brillante. Y si lo hubiera sabido un poco antes (antes de volver a flashear mi último dispositivo), lo había intentado en lugar de las GApps :)
Para obtener más información, detalles sobre el desarrollo en curso, etc., consulte la página XDA vinculada del proyecto NOGAPPS .
izzy
Bobson
A medida que entendemos más
Nicolás Raúl