Tomorrow, journalists from around the world will gather at a venue in Munich, Germany to watch Huawei Consumer Business Group CEO Richard Yu announce his company's latest consumer products. The company is expected to unveil two wearable accessories, a television, and four smartphones. The focus will largely be on the new Huawei Mate 30 series of smartphones, which Google confirmed cannot be sold with Google Play apps and services. Without Google's suite of apps, the new Huawei phones will have a tough time in Europe, India, and other markets. But Richard Yu hinted at IFA 2019 that the company has a workaround to allow users to install Google apps on the Mate 30, noting that the process will be "quite easy" for users. We're no stranger to sideloading Google Play apps and services at XDA, but given Huawei's unique circumstances, we thought it might be worth exploring what options the company has and whether they really can offer a way for users to download Google's app suite.

MADA, GMS, and Android Certification

In order for Google Mobile Services (GMS), a collection of Google apps and services such as the Play Store and Play Services, to be pre-installed on an Android device, a device maker must sign a Mobile Application Distribution Agreement (MADA) to become a licensed Android partner. Then, the device maker must build software that meets all the requirements to be considered Android Compatible, including but not limited to following the rules laid out in the Compatibility Definition Document (CDD) and passing the Compatibility Test Suite (CTS). Per Google, "devices using Android as a trademarked name to advertise their compatibility with Android apps need to pass the Compatibility Test Suite (CTS)." Finally, the software must pass the Google Test Suite (GTS) to be considered compatible with Google Mobile Services.

We viewed a copy of a "geo-availability chart" provided to device makers that sign a MADA to distribute GMS apps in the 31 countries of the European Economic Area (EEA). This chart is dated from October of 2018, so it likely does not reflect the up-to-date requirements that Google lays out for partners distributing GMS apps in the EEA. However, we can get a decent understanding of what Google apps are required to be distributed in Europe.

The "geo-availability chart" differentiates between Google apps based on importance:

  • Regular GMS Apps: The Core apps that MUST ship with regular Android devices.
  • Go GMS Apps: The Core apps that MUST ship with Android (Go Edition) devices.
  • Core Services: GMS software components that MUST ship on all devices. These are used by other Google apps and are not shown to the user in the launcher.
  • Optional GMS Apps: Other GMS apps that the device maker can choose to preload.

For the European Economic Area, the following GMS Apps are considered "Regular GMS Apps:"

  • Google App*
  • Google Chrome*
  • Gmail
  • Google Maps
  • YouTube
  • Google Play Store
  • Google Drive
  • Google Play Music
  • Google Play Movies
  • Google Duo
  • Google Photos

*Following the European Commission's €4.34 billion fine for antitrust violations, Google now requires device makers to sign an additional license to distribute the Google App and Google Chrome for devices sold in the EEA.

The "Core Services" includes system apps and libraries such as GMSCore (also known as Google Play Services), Google Services Framework, ConfigUpdater, AndroidPlatformServices, GoogleBackupTransport, Widevine DRM, and more. "Optional GMS Apps" includes Google apps such as Google Calendar, Google Keep, Google Translate, Messages, Google Phone, and much more. Google Pay is an optional GMS app, and partners are allowed to distribute the app if it has launched in the country. For example, at the time this "geo-availability chart" was distributed, Google Pay had not yet launched in France, so Google warned that Pay "MUST NOT" ship in the country or be used in any marketing.

Since Huawei cannot sign a new MADA with Google, the Huawei Mate 30, Huawei Mate 30 Pro, and Huawei Mate 30 Lite will not be allowed to ship with the full versions of any GMS apps, including the Core Services. So what can Huawei and users do to work around this restriction?


Sideloading Google Play Apps and Services

Even if a device maker does not receive certification from Google to ship GMS apps and components on any given device, it may still be possible for users to manually sideload them.

Scenario 1

Understand that Core Services such as the Google Play Store and Google Play Services are very powerful and usually have permissions that cannot be granted to standard user applications. As such, it’s not as simple as just downloading an APK file (the container for an Android application) off of the Internet and then just installing it. These applications must be installed as system applications with privileged permissions.

Some device makers, such as Huawei itself, Huawei’s sub-brand Honor, Xiaomi, and others, pre-install what I like to call “stub” versions of the required applications. They also whitelist these applications ahead of time with the required privileged permissions. These “stub” APKs are basically dormant versions that are just waiting to be updated; the trick here is that while you can’t just insert the Google Play Store and Play Services as a system app, you can install an “update” on top of these “stub” APKs to activate them and turn them into their full versions. The user can download the latest, full versions of the Google Play Store, Google Play Services, and other Google apps from third-party platforms such as APKMirror.

The Honor Magic 2, a device made by Huawei sub-brand Honor, is only available in a Chinese market model and hence does not ship with the Google Play Store. As noted in Huawei's Amazon listing for the device, however, you can sideload Google Play apps without issue. This is because, as shown in the screenshot to the left from an Honor Magic 2 firmware dump, the necessary "Core Services" are pre-installed. Furthermore, as shown in the screenshot to the right, the Core Services apps have been granted the necessary permissions to operate. 

From what I've seen, Huawei, Honor, and Xiaomi do this practice for the phones they sell exclusively in China since their Android licensing agreements require them to pre-install the full Google Play apps and services for phones they sell internationally. I suspect that Huawei, Honor, and Xiaomi do this because they know their China market devices are frequently exported to other countries.

Scenario 2

To build upon Scenario 1, a device maker may go so far as to provide a downloader for Google Play apps and services in their own app store. Chinese device maker Meizu, for example, takes this approach. The past few days I’ve seen talk about a “Google Service Assistant” application that, upon inspection, seems to use Huawei enterprise APIs to install Google Play apps and services. Users have used this app for devices like the Honor 9X and Honor 9X Pro, which are both currently only sold in China. I do not know if Honor has sanctioned the use of this app, so we reached out to our contacts at Honor to confirm. This app is currently not available on the Huawei AppGallery, for what it's worth.

Scenario 3

If the device maker doesn’t pre-load the “stub” APKs in their software, then the only way the user can get the Google Play Store and Google Play Services up and running is to manually install these apps and grant them their requested privileged permissions. This cannot be done without modifying the software on the device in a process known as “rooting.” Root access grants the user the ability to modify files they normally wouldn’t be allowed to access. Think of it as the “Administrator” account on Windows. With root access, the user can easily install Google Play apps and services using a pre-packaged container made by community members from the Open GApps Project.

OpenGapps provides a nice, highly compressed package of all the GMS apps you need. Shown above is the "pico" package, which only contains the necessary Core Services.

“Rooting” your device does not come without its downsides, however. The process of achieving root access is device-specific and may sometimes be too difficult for the average user to perform. Getting root access also requires that the device maker provide a way to “unlock the bootloader,” or disable the boot-level protections required to gain root access, which the device maker may or may not allow. Huawei, for example, disallows this practice. Finally, many device makers void the warranty if the user unlocks the bootloader, though this practice may not hold up in countries with more generous consumer protection laws.

Everything we've just talked about involves just installing the Google Play Store and Google Play Services. There’s still the step of actually running these apps, and that may not be as simple as tapping the app icon in the launcher.


Google's Crackdown on Uncertified Devices

In March of 2018, Google started showing a “device is not certified by Google” message to some users whose devices did not pass Google certification. The message warns users that the device manufacturer “has preloaded Google apps and services without certification from Google,” and it warns device manufacturers that they “need a license from Google to distribute apps and services.” Until this message is dealt with, you cannot use any Google apps. The only way a user can bypass this message is to manually register their device with Google, but this is intended to be used only by users running a “custom ROM” (after-market software).

Google Play uncertified device error

Google does not care if individual users in the custom ROM community install Google Play apps and Services, hence why Google has turned a blind eye for so long to the distribution of GApps packages even though they’re well within their rights to shut this down. On the other hand, Google does care if unlicensed manufacturers are distributing their apps, hence why they started showing this warning last year.

After we published our article, a representative from Meizu reached out to us, asking if they could republish my workaround tutorial on this matter, so it seems that this warning has already hit many devices sold in China. I don't know how widespread this warning is as of today, but the last time I personally came across this warning was when I flashed a leaked Android 10 system image on a Pixel 3 XL.

Uncertified Device Registration Page

If Google does not whitelist Huawei devices from the warning, then users will have to follow the instructions on this page to use Google Play apps and services.

If you sideload Google Play apps and services as outlined in Scenario 1 or 2 on Huawei, Honor, and Xiaomi devices currently sold in China, you likely won’t come across this message. The reason is that even though these China market phones have no need to meet Google’s Android certification requirements, these device makers meet the requirements anyway. Abiding by the CDD and passing the CTS is already part of their engineers' workflow and these companies already follow Google's requirements for most of their other devices. I have thus sideloaded Google Play apps and services on the Honor Magic 2, Honor Note 8, Honor Note 10, and the Tencent ASUS ROG Phone II without any issues.

The Honor Magic 2 passes CTS despite the fact that it never launched outside of China and doesn't ship with GMS apps. Since Huawei sells the phone on Amazon, though, they know importers will want to have access to Google Play apps and services.


The Problem for the Huawei Mate 30

Disclaimer: I am unaware if Huawei has made any kind of agreement with Google, so I’m presenting the following as my own analysis of what might happen.

Because the U.S. trade ban restricts Google from licensing Android to Huawei’s new products like the Huawei Mate 30 series, the Huawei Mate 30 cannot ship with Google Mobile Services. Huawei may be able to pre-install the “stub” APKs to facilitate sideloading, but they can’t actually host the full GMS apps on their own app store (the Huawei AppGallery.) As pointed out by Ron Amadeo from ArsTechnica, apps made by U.S. companies are also subject to the U.S. ban, so Google can't distribute its own apps on the Huawei AppGallery. Huawei may be able to get away with hosting an installer for GMS apps—again, we've reached out to Honor see if the “Google Service Assistant” app is officially recommended by them—but I’m not sure that will hold up if the installer is made by Huawei.

Even so, sideloading GMS apps on the Huawei Mate 30 and other new devices from Huawei and Honor will likely trigger the “device is not certified by Google” error message to appear. Overcoming this message will be a significant barrier to entry for the average user, and I’m curious to see how Huawei will deal with this. We'll find out in about 24 hours from now when the Huawei Mate 30 series is officially unveiled in Munich, Germany. You can watch the live stream for the event here, which begins at 2 PM CEST/8 AM EST. I suspect that Huawei won't make the Mate 30 series immediately available in Europe, and indeed, LetsGoDigital is reporting just that. Still, Huawei may end up surprising us by revealing an agreement they made in secret with Google.

Huawei Mate 30 Forums ||| Huawei Mate 30 Pro Forums ||| Huawei Mate 30 Lite Forums


Featured image credits: Evan Blass (@evleaks)