Free implementation of Play Services

Overview

microG Services Core (GmsCore)

Build Status

microG GmsCore is a FLOSS (Free/Libre Open Source Software) framework to allow applications designed for Google Play Services to run on systems, where Play Services is not available.

Please refer to the wiki for downloads and instructions

License

Copyright 2013-2021 microG Project Team

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • SafetyNet API

    SafetyNet API

    As of version 0.37 Pokemon Go uses GMS's safetynet feature and I for one can't get past login. What is the implementation status on safetynet, is this out of scope for microg?

    bug 🔒 SafetyNet / DroidGuard 
    opened by seanrand 136
  • Support for U2F / Fido2 / webauthn?

    Support for U2F / Fido2 / webauthn?

    Hey there,

    I use LineageOS for MicroG on my NFC enabled phone and recently bought a Yubikey 5 NFC. While the phone does detect the Yubikey via NFC or UCB-OTG, there seems to be no support for U2F/ Fido2 / webauthn. I used the Yubico U2F demo site to test it.

    If I understand correctly, this functionality is provided on stock Android with the usual Google Apps through the Google play services library, which then exposes it via an API to the mobile browser. On my device, depending on the browser I either get "The user agent does not support public key credentials" (Jelly), or I get a timeout while trying (Chrome, Firefox, Brave).

    On a non LineageOS / non-microg device with the Chrome browser, the Yubico demo site works fine.

    The browsers (except Jelly) all have support for U2F if I am not mistaken, so that is not the reason I think...

    Are there any plans to incorporate this in MicroG? I could not find any info on it, so I'm asking here.

    Thanks for any leads - and of course for MicroG in general, I appreciate it very much!

    • Oneplus 6 (Enchilada)
    • LineageOS 16 for MicroG (official build from last week)
    • tried with the following browsers: Jelly, Chrome, Firefox, Brave
    enhancement 🔐 FIDO / FIDO2 / WebAuthN 
    opened by flipsa 110
  • Cast API not implemented [$255 PAID] [$255 awarded]

    Cast API not implemented [$255 PAID] [$255 awarded]

    This is probably one of the most critical components needed in order for most people to be able to switch away from binary gmscore, mainly because most media nowadays (i.e. youtube, netflix, etc.) depends on it in order to be at all useful. Everything else can be worked around, replaced, or proxied.

    There is no real indicator of status of this, the closest is from 3rd party website, and indicates "Cast API: Some initial work done, nothing usable, applications may crash."

    • what is the current status?
    • what needs to be done?

    Bountysource

    enhancement confirmed bounty 📺 Chromecast 
    opened by lbdroid 83
  • BankID säkerhetsapp-GmsCore-v0.2.7.17455

    BankID säkerhetsapp-GmsCore-v0.2.7.17455

    BankID säkerhetsapp, Swedish app for elektronic identification.

    BankID doesn't connect and are useless with last update GmsCore-v0.2.7.17455.

    Same problem on two phones running LOS w MicroG, Google Pixel (Sailfish) LOS 16, and Google Nexus (Bullhead) running LOS 15. Both fully updated same issue. My solution was going back to GmsCore-v0.2.6.13280.

    Sorry, I don't know how to make any logs and so, I did found out how to make logs see next entry.

    opened by vildevilde 80
  • SafetyNet started failing

    SafetyNet started failing

    Somewhere around friday morning, SafetyNet started failing (CTS Profile match: false, but Basic Integrity: true). I have not changed anything on my device (OP5T, OmniROM, no root or whatsoever) between the time it worked and the time it stopped working, and I’ve tested on my old phone (OPO) on which it does not work either (but I had to reinstall on OmniROM on it and it has also Basic Integrity: false).

    Is anyone else confirming? If not, what should I look for? If yes, I suppose this is due to some DroidGuard update that now detects μG?

    bug 🔒 SafetyNet / DroidGuard 
    opened by ArchangeGabriel 70
  • GCM -> FCM Update needed for push messaging

    GCM -> FCM Update needed for push messaging

    ---- EDITED 26. August for summarizing the history of original issue and needed solution

    Google has updated the push messaging infrastructure to FCM and will retire the old setup called GCM in 2019 (https://firebase.googleblog.com/2018/04/time-to-upgrade-from-gcm-to-fcm.html).

    Hence apps are moving over to use FCM and stop working with current GCM features of microg. This results in different app behaviors. Some apps do not receive any push messages anymore, others (like Whatsapp) fall back to a polling mechanism, that uses lots of battery.

    To use updated apps again with microg, the GCM functionalities mimicking google service framework will need to be updated to FCM.

    ---- Original Issue that lead to missing FCM functionality issue Hi there,

    I have a strange behaviour on my phone with GCM on AOSP Oreo. Some apps can register for GCM, even push notification tester works flawless. However Whatsapp and Threema won't register for the service. I regularly get the message "GmsGcmRegisterSvc(6107): registration not allowed".

    So far I have the feeling, that the "ask for new apps" function is not working properly. As it was enabled in the beginning (When installing Threema and Whatsapp the first time), but not anymore.

    Is there a way to clear the list of registered apps and start over? This is just a hunch now and want to test this, before digging into other things.

    Regards Chris

    P.S.: If you have any other idea, let me know. Can also produce some logfiles.

    Bountysource

    bounty ☁️ Cloud / Push Messaging 
    opened by chris42 70
  • Exposure Notification (Corona)

    Exposure Notification (Corona)

    Hi,

    everybody is speaking about a corona app these days. It seems that the plan by google is to provide initial support via the google play services and only later (if at all) include support in Android itself.

    https://www.blog.google/documents/69/Exposure_Notification_-_Cryptography_Specification_v1.2.1.pdf

    This document provides the detailed technical specification for cryptographic key scheduling for a new privacy-preserving Bluetooth protocol to support Exposure Notification. Exposure Notification makes it possible to combat the spread of the coronavirus — the pathogen that causes COVID-19 — by alerting participants about possible exposure, through someone they have recently been in contact with who has subsequently been positively diagnosed. This specification complements the Bluetooth specification, which contains further information about the scheduling of broadcasts and the higher-level life cycle of the Bluetooth protocol.

    Is there a chance that a corona app using Exposure Notification will be supported by mircog?

    Cheers, Lemy

    🦠 Exposure Notifications 
    opened by SirLemyDanger 64
  • Google account already exists on device

    Google account already exists on device

    Steps to reproduce:

    1. Clean install/remove account from settings
    2. Open Gmail/Any app requiring google login
    3. Log in from the web UI prompt.
    4. Everything looks fine, but the app does not receive an account.
    5. Try again to log in and get "this account already exists on device"

    The only application where the account works is Google Photos.

    microG was not installed as a system application. Network location provider was not setup, but all other checkboxes were checked.

    All permissions granted to microg core & apps used.

    Versions tested:

    • latest f-droid microg
    • latest nanodroid microg
    • WebView v71
    • WebView v73

    running unofficial Lineage 15.1 on whyred https://forum.xda-developers.com/redmi-note-5-pro/development/rom-unofficial-lineageos-15-1-t3877288

    I have logcats but I have to clean sensitive data first. If there is interest, I can PM the log.

    👥 Google Accounts 
    opened by Eerovil 59
  • UnifiedNlp is not registered at boot

    UnifiedNlp is not registered at boot

    I refer to this post for a background, especially a filtered logcat.

    microG version: 0.2.8.17785-4 (06c8b76), installed as a system app in LOS microG for polaris, build 20191005

    As displayed in the self-check of microG, UnifiedNlp is not registered in the system, which is also reflected by the following log messages:

    10-21 10:19:52.172 1258 1324 W LocationProviderProxy-network: Odd, no component found for service com.android.location.service.v3.NetworkLocationProvider 10-21 10:19:52.174 1258 1324 W LocationProviderProxy-fused: Odd, no component found for service com.android.location.service.FusedLocationProvider

    opened by Iey4iej3 54
  • sipgate satellite login not possible

    sipgate satellite login not possible

    hi, im not sure wether this is the right package to post this in, but there is a probably an issue / bug with the current sipgate satellite app. after having created an user account i am not able to login into the service via the app. when i enter username and password and click on the login-button it only spins the animation forever, but nothing happens. the app was installed via apk and yalp store. login / app works flawlessly though in the bluestacks vm. im running microg lineage os on samsung s3 i9300.

    🔑 Firebase Auth 
    opened by zoulztealer 48
  • GCM disconnected on Lineage OS 16.0 + microG on fresh installation

    GCM disconnected on Lineage OS 16.0 + microG on fresh installation

    Device: OnePlus 3T OS: Lineage OS 16.0 (lineage_oneplus3-userdebug 9 PQ2A.190305.002 eng.root.20190325.155933 dev-keys)

    I am running microG for Lineage OS 16.0 (March 25, 2019 build), and I have not yet gotten GCM to register an app. I installed 16.0 after wipe of the system. I have tried Protonmail, Signal, Riot.im, which all registered under microG + Lineage OS 15.1.

    "Current State: Disconnected", and no apps are listed. I have tried microG Settings >>Google Cloud Messaging >> ... >> Confirm new apps, with no results.

    I understand that 16.0 is brand new, so a messy transition is expected, but no one seems to be having this issue (or I am in the wrong place?!). Has anyone gotten apps to register using a microG + Lineage OS 16.0 build yet? Is there a good app to test that definitely works? Logs?

    ☁️ Cloud / Push Messaging 
    opened by oodport 48
  • MicroG Settings falsely reports missing network connection on sign in

    MicroG Settings falsely reports missing network connection on sign in

    Describe the bug When trying to sign in with a google account, a missing network connection is reported although the device is connected to a Wi-Fi network and other services work. Precisely, it says "You don't have a network connection"

    To Reproduce Steps to reproduce the behavior:

    1. Open microG Settings
    2. Tap "Add Google Account"
    3. Tap "Sign in"
    4. Error message appears

    Expected behavior The login process continues and the account gets added to the device

    Screenshots Screenshot_20230102-135710_microG Services Core

    System Android Version: 12 Custom ROM: LineageOS for microG 19.1

    Additional context Device: OnePlus 6 Self-Check: all ticked

    Might be similar to this: https://calyxos.org/news/2021/04/16/microg-google-login/

    bug 
    opened by lorhof1 0
  • How can I implement methods in microg?

    How can I implement methods in microg?

    I can see that the methods for the google reminders api are not implemented. I am working on a ROM with microg and google calendar preinstalled, and I'd really like to fix this so that google calendar will work fully.

    I have knowledge about android/java developement. I just don't know where to begin. How would I implement methods that connect to google's servers?

    If anyone can assist me with this, I'd be extremely grateful. I'll also make a pull request if I manage to complete it. Assuming it's not impossible.

    question 
    opened by Sense101 0
  • Add support for digital wellbeing

    Add support for digital wellbeing

    Is your feature request related to a problem? Please describe.

    Describe the solution you'd like

    Describe alternatives you've considered

    Additional context https://www.android.com/digital-wellbeing/ https://play.google.com/store/apps/details?id=com.google.android.apps.wellbeing

    enhancement 
    opened by Rexadev 1
  • [com.google.android.apps.safetyhub] Google’s Personal Safety doesn't work

    [com.google.android.apps.safetyhub] Google’s Personal Safety doesn't work

    Affected app Name: Personal Safety Package id: com.google.android.apps.safetyhub

    Describe the bug

    To Reproduce Steps to reproduce the behavior: Crashes

    Expected behavior

    Screenshots

    System Android Version: 12 Custom ROM: crDroid Official

    microG microG Core version: [e.g. 0.2.13.203915] microG Self-Check results: All ticked

    Additional context

    opened by Rexadev 1
  • Emergency Location Service ELS

    Emergency Location Service ELS

    Is your feature request related to a problem? Please describe.

    Describe the solution you'd like

    Describe alternatives you've considered

    Additional context

    https://www.youtube.com/watch?v=3PNNof20tJc

    https://www.android.com/safety/emergency-help/emergency-location-service/

    enhancement confirmed 
    opened by Rexadev 0
  • MicroG acts as if I haven't added my Google account.

    MicroG acts as if I haven't added my Google account.

    Describe the bug I am unable to proceed past the add account screen even after properly authenticating. It acts as if I never added an account to MicroG. When I try again, I get the “This account already exists on your device.”

    Screenshot_20221212-170552 Screenshot_20221212-170619

    To Reproduce Steps to reproduce the behavior: (Please wait a moment for some demonstration to be uploaded – I appear to need my PC to upload MP4 files to GitHub 🤷 – but it doesn't really require explanation.) Uploading demonstration.zip…

    Expected behavior All software should automatically detect the present account, and consequently not necessitate manual authentication.

    Screenshots Screenshot_20221212-165921 Screenshot_20221212-165933 Screenshot_20221212-165943

    System Android Version: 13 Custom ROM: CalyxOS 4.4.0 (TQ1A.221205.011.22404000)

    Additional context https://github.com/microg/GmsCore/issues/1403#issuecomment-1346588225

    bug 
    opened by rokejulianlockhart 11
Releases(v0.2.26.223616)
Owner
microG Project
A free-as-in-freedom re-implementation of Google's proprietary Android user space apps and libraries.
microG Project
A harness to build the source code from openjdk.java.net using Free Software tools and dependencies

A harness to build the source code from openjdk.java.net using Free Software tools and dependencies

IcedTea 2 Mar 5, 2022
Sauron, the all seeing eye! It is a service to generate automated reports and track migrations, changes and dependency versions for backend services also report on known CVE and security issues.

SAURON - VERSION AND DEPLOYMENT TRACKER DESCRIPTION Sauron, the all seeing eye! It is a service to generate automated reports and track migrations, ch

FREENOWTech 20 Oct 31, 2022
SpringBoot Micro Services, Discovery Server, Discovery Client, API-Gateway

SpringBoot Micro Services, Discovery Server, Discovery Client, API-Gateway

null 2 Jan 26, 2022
FizzBuzz Enterprise Edition is a no-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes.

FizzBuzzEnterpriseEdition Enterprise software marks a special high-grade class of software that makes careful use of relevant software architecture de

null 18.4k Dec 31, 2022
A Local implementation of a java library functions to create a serverside and clientside application which will communicate over TCP using given port and ip address.

A Local implementation of java library functions to create a serverside and clientside application which will communicate over TCP using given port and ip address.

Isaac Barry 1 Feb 12, 2022
Implementation of various design patterns in C++, Java and Python

DesignPatterns Implementation of various design patterns in C++, Java and Python. Strategy Pattern Description: Strategy Pattern in implemented in a p

Lakshmanan Meiyappan 12 Jul 20, 2022
A basic implementation of a Ray Tracer that has been developed for the course GFX

This is a basic implementation of a Ray Tracer that has been developed for the course "GFX - Foundations of Computer Graphics" at the University of Vienna.

null 2 Mar 4, 2022
Play Framework

Play Framework - The High Velocity Web Framework The Play Framework combines productivity and performance making it easy to build scalable web applica

Play Framework 12.3k Dec 29, 2022
please read README to see how to play this. and star me to help me! this is very helpful and thanksful for me.

Sharustry Mod Browser / 모드 브라우저로 다운로드하기 Only possible with 124 or higher, only can download "latest" release 124 버전 이상에서만 가능하고, 오직 가장 최근의 정식 릴리즈만 다운로드

Sharlotte 51 Nov 23, 2022
A small tools to play with JavaFX Color.derive() function - allows to create custom colors and to save those in color palettes.

DeriveColorsFX This is not a serious application. Its a small tool where I just played with the method Color::deriveColor provided by JavaFX. Also its

Oliver Löffler 11 Oct 9, 2022
100DaysOfChallenge - Let's Play with Code

100 Days Of Challenge Let's Play with OOP DAY 1 Introduction Intro. Identifiers Reserved Keywords DAY 2 Primitive Dataypes Integral Datatypes Floating

Achiever 2 Feb 3, 2022
Standalone Play WS, an async HTTP client with fluent API

Play WS Standalone Play WS is a powerful HTTP Client library, originally developed by the Play team for use with Play Framework. It uses AsyncHttpClie

Play Framework 213 Dec 15, 2022
A Java Project designed to manage a football clubs players and play RNG Simulated Games against other teams.

A Java Project designed to manage a football clubs players and play RNG Simulated Games against other teams.

ztrunks 0 Feb 21, 2022
Checkers game. Server and Client. Client's app handled in JavaFX. Play with radom player or against AI.

Checkers-JavaFX-and-Sockets Checkers game. Server and Client. Client's app handled in JavaFX. Play with radom player or against AI. If you want to pla

Jakub Bednarski 1 Mar 30, 2022
lobster is an easy-to-use Discord bot to play music in any voice channel

lobster is an easy-to-use Discord bot to play music in any voice channel

lundy 6 Apr 8, 2022
Play snake, in minecraft. This is a crude, horibly made snake in minecraft game. Requires PaperMC 1.18.2.

MinecraftSnake Play snake, in minecraft. This is a crude, horibly made snake in minecraft game. Requires PaperMC 1.18.2. Installation: Create a paperm

null 1 Sep 30, 2022
The goal of this project is to play with Spring Cloud Stream Event Routing and CloudEvents

The goal of this project is to play with Spring Cloud Stream Event Routing and CloudEvents. For it, we will implement a producer and consumer of news & alert events.

Ivan Franchin 6 Oct 28, 2022
A fast, programmer-friendly, free CSV library for Java

super-csv Dear super-csv community, we are looking for people to help maintain super-csv. See https://github.com/super-csv/super-csv/issues/47 Super C

super csv 500 Jan 4, 2023