Huawei's move away from Google Android in favor of its own HarmonyOS software has placed a new focus on what's known as the GMS Core (Google Mobile Services) Android phone. Even before the Chinese firm switched to HarmonyOS, it shipped a full generation of flagship phoned without GMS. So you might be wondering what GMS is, what it does, and why you even need it on a phone. Or more specifically, is this something you can just download from somewhere and sideload?
The GMS Core goes hand-in-hand with Google Play Services and what are also known as GApps (Google's Apps). Google goes in-depth about what these files are and how developers can use them inside their own apps, but we can break it down and see why they are important for most folks who want an Android phone.
What is the GMS Core?
The question of what the GMS Core actually is also answers the question of why Huawei didn't include it in devices like the P40 Pro and Mate 40 Pro in 2020. It's a part of Android that's not free and open-source software but is used by apps that want to connect to and use Google's services. It works as a set of APIs (Application Programming Interfaces) that allow developers to use things like Google Maps to show a location or Google Drive to store data like game progress or use Google Sign-in. Under the current U.S. blacklist, Google is not allowed to provide this software to Huawei nor is it allowed to provide it in an over-the-air update.
Google Mobile Services are required for plenty of Google's apps to work as intended, too. Apps like Gmail, Chrome, Search and even Gboard need these files in the right place so that they will work. Even if you were able to sideload these apps, they won't work the way you want them to without GMS. These aren't "regular" apps, either. To install the GMS files, you need to flash them through the bootloader because they need to go into places that can't be touched while the system is running and require elevated permissions to change the file structure.
You don't need any part of GMS for your phone to operate, but you do need it if you want to use Google's other mobile services and apps. If you're the type of person who likes to root your phone and alter the software, you could install a partial set of these core services. Most of us aren't, though, and will have a complete package consisting of the Google Services Framework app, changes to files in the system configuration, and extra files that tell Google what type of phone you have and what its capabilities are.
What are Google Play Services?
There are thousands of different Android devices with access to Google Play and Google's services through the use of the GMS Core apps and framework. You've probably heard people talk about Android fragmentation, and whether we want to admit it or not it is a real thing. While most phones run a version of Android that's six to 10 months behind the very latest release, there are still devices out there running software that's three years old or more.
Versions of Android all have their own unique features, but some of those features — being able to reply to a message through its notification, for example — are things that Play Services covers. Google Play Services is an app that connects to the GMS framework and provides a set of APIs that developers can use so that their apps perform the same across multiple different versions of Android.
A developer can choose to include Google Client Library inside their app and it can "talk" to the Play Services app. This often means every device can utilize some of Android's newest features, but it also provides a means for an alternative if a phone can't. By letting Play Services and its APIs handle this "translation" between versions, developers can target more phones with one version of their app, and that means less work.
Play Services is an app that you can find in Google Play (opens in new tab). That's done so it can be updated quickly without a manufacturer having to send an over-the-air update. Project Mainline, part of Android 10 and above, takes this a step further and allow more security-focused features to be updated the same way. When Google builds a new version of Play Services your phone will update it automatically within a few days of its release.
Why can't I just install all of this myself?
You can, but as mentioned GMS is not something you can just sideload.
To take a phone built using only the Android Open Source Project (the free and open-source version of Android) and turn it into a phone that can use all of Google's services and apps requires you to put files into folders inside the running system. You can't do that unless you have the permissions level of the system itself, and you can't replace or overwrite files that are in use. People using custom ROMs or devices with an unlocked bootloader can flash these files manually through a custom bootloader or boot script, but that doesn't help most people.
Some phones sold in China where many devices don't have the full GMS installed are built so that the core itself is updatable without flashing from the bootloader. You'll find plenty of methods to install all of Google's apps and get them working for phones from Xiaomi, Huawei, Oppo, Vivo, and others on the internet (though we're not linking there). But unless the phone's operating system was designed for this in advance, you won't be able to do it yourself unless you have unlocked the bootloader or have rooted your device.
What am I missing if I don't have all of this?
You'll still have a fully operational phone that can make calls, send and receive messages, and even run millions of Android apps that you have installed or sideloaded from places other than Google Play. You just won't have access to Google's own services and without what I like to call the "closed" part of Android.
You might think you don't want these services, but things go deeper than just the Gmail app. You need GMS to sync your calendar and contacts, sync your message database between devices, sync any data from an app that uses Google's built-in method through Drive or use Google search or Assistant. Google makes money through these services and they are separate from Android itself. Most companies making phones include them because those companies know that we find value in having them.
Unfortunately, much of what we enjoy about having an Android phone is dependant on the inclusion of the GMS Core and framework, Google Play Services, and a select group of Google "apps" that work behind the scenes to make everything work the way we like it to work. Companies like Huawei have their own services framework to help their own apps work, but nobody can write software that ties Google's services directly into Android.
It's unclear whether Huawei, faced with U.S. sanctions, will ever be able to ship a phone with Google Mobile Services again. But we do know that users can't just download an app that gets everything into the right place so Google's services and apps will work unless Huawei does a lot of work in advance. Huawei makes some great hardware, but depending on how you like to use Android and your skill level, it might turn out to be one you don't want to buy.
I was already wondering if rooting a Huawei phone and then Flash gapps would work. In my rooting, xposed and custom ROM days flashing gapps was just a necessary side step. But at least I could chose which Google apps to install. Oh, those times!
Several other blogs are already advertising LZPlay as the solution to the Gapps conundrum. I've read nothing but good things about it.
Get the best of Android Central in in your inbox, every day!
Thank you for signing up to Android Central. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.