Android without GMS (Google Mobile Services)
Android models without GMS are becoming more and more common among mobile terminals. What GMS contains is described in our article HERE. In this article we will show you how to get around without GMS.
Why (not) use GMS
Google Mobile Services (GMS) originated as a product of Google, which promotes its services with this package and allows easy integration of Google services into third-party applications and, of course, directly into the Android environment, which it modifies in a fundamental way. Google thus gives developers easy access to its unique technologies, but on the other hand, these developers or developers are not able to use the GMS. The developers also become vassals of these technologies, creating a dependency over which the developer has no control.The developer has full control over this, and several times in the past there have been significant changes to the GMS API that have caused some applications to become non-functional. In addition, some technologies are chargeable for use in commercial projects, and some that were free have been charged for during operation, which has also caused developers a lot of trouble. GMS is no small package either. Just the files on the system take up nearly 200MB of storage space and roughly 100MB of shared memory, not to mention the slowdown in system startup due to running GMS services and the need to access the Internet. The current trade wars being waged by the US and legislative issues in some countries are leading Google to make its services in some parts of the world, so even applications built on top of these services are not functional in these countries. This makes some services unavailable even within the EU (mainly due to GDPR).
To decide whether to get a device with or without GMS, just answer a simple question: Does my app use any of Google's services? If the answer is no, then you can do without GMS, because the technologies that GMS contains without a direct link to Google services are also provided by other manufacturers or the opensource community. We will show how to replace GMS below.
Replacing core applications
Google Search, YouTube, Google Maps, Google Duo, Google Photos, Google Play Music have their often opensource alternatives, which are often better than the basic Google applications (maps.cz, OpenStreetMap, Waze navigation, WhatApp, etc.).
1.GooglePlay store replacement
But how do you install apps without the GooglePlay store? Easy. Few people know that you can also easily install an Android app using the app's APK file/package. There are a number of alternative app stores/catalogs, including ones that draw data directly from Google Play to distribute these install files. One of the most used alternative app catalogs is APKMirror, which also has its own app (https://www.apkmirror.com/).
For app developers, it is also good to note that in addition to the Google Store listing fee ($50), Google takes 30% of the transaction for paid apps (https://support.google.com/googleplay/android-developer/answer/112622?hl=en), then 15% if certain conditions are met, which can be a lot of money.
As a result, more and more apps are starting to use Sideloading for installation and updates - i.e. The APK installation package is either downloaded by the app itself as an update or downloaded by the user via the app's website directly from the web server (outside the Play Store) and manually installed directly in the Android OS. Alternatively, the user downloads the package to a PC and manually transfers it to the device. This technology was first pioneered by the developers of Fortnite and PokemonGO, who wanted to be unaffected byGoogle, whose services are already unavailable in some countries due to trade wars. Sideloading is also being used by the WhatsApp communicator and is being considered and partly already used by Facebook.
When manually installing the app directly from the APK package, it is then necessary to bear in mind that any update of the app will not take place automatically - when a new version is released, the user will have to manually install the new APK. Sideloading solves this problem, where the app itself downloads its updated package and installs it directly.
Alternative catalogues to the GooglePlay store are:
- APKMirror
- Aptoide
- Amazon Appstore
- F-Droid
- GetJar
- SlideMe
- AppBrain
- MoboGenie
- Galaxy Apps
- GetAPK and more
2. Replacement for GMS system services
GMS also includes services that are not visible to the user at first glance - see our article on what GMS includes. For example. Web browser integration (Chrome) into applications or the Cloud Messaging system - Firebase (FCM), which mediates Push service interface (messages passed between applications or servers), cloud storage of application configuration data, etc..
Fortunately, there are alternatives for these services outside of GMS. Here we will show the possibilities of replacements for the most widely used services:
For example, alternative browsers:
- Ghostery
- Mozilla Forefox
- Samsung Internet Browser
- Dolphin
- Opera Mini
- Brave
- etc.
It is also possible to replace Android's internal WebView component responsible for displaying HTML pages directly in applications, which is by default handled by Chrome, with an opensource e.g. GeckoView developed by Mozilla as part of the Firefox project (https://mozilla.github.io/geckoview/).
Replacing Cloud Messaging (Firebase or FCM) is even easier, as these services are now provided by every cloud provider as part of their cloud API. Some of the most well-known include Amazon SNS. Possibly the opensource project Pushwoosh, which even presents its API as a direct replacement for the FCM API (Google) and others.
The replacement for Andorid Enterprise Services is then a number of commercial solutions often directly from hardware manufacturers such as CipherLab or Honeywell, or from manufacturers of various integration/security systems. These solutions are priced at the same level as GMS solutions.
What to do if your application does need a GMS component
For this case, there are projects that provide so-called bridge libraries that map GMS functions and calls to opensource projects. The best known project is microG (https://microg.org/). However, when using these libraries, it is important to keep in mind that they are not a stable solution, as they are not an officialGMS libraries and the solution may not be 100% functional, not to mention that none of these projects logically cover 100% of the GMS features. However, most applications only need libraries from the GMS Core package, which these projects provide quite well.
We will keep updating examples of replacements for other services if interested.