Huawei’s Harmony OS 2.0 beta appears to be based on Android
Harmony OS is Huawei’s own first-party operating system, meant to take over the reins as the company’s current GMS-less Android software proves to be insufficient to propel the company’s smartphone prospects. Huawei recently began its long-shot transition away from the GMS-less Android with the first Harmony OS 2.0 beta for select smartphones and tablets. But while an independent operating system sounds like it would be great for the overall mobile ecosystem to break away from the duopoly of Apple’s iOS and Google’s Android, it seems that this first release of Harmony OS 2.0 is still based on Android after all.
One developer built a simple “Hello World” app targeting an older version of Android—specifically, Kitkat 4.4.4—and found that the app throws up a very similar error message on both Android and Harmony OS virtual devices.
The screenshot on the left shows the app installed on a virtual device based on a newer Android version, essentially throwing up the error that the app is built for an older version of Android and may not work properly on the new version. The screenshot on the right shows the app installed on a virtual device based on Harmony OS 2.0 beta, and the error message is practically the same, with the difference being just a simple swap-out of the word “Android” for “Harmony OS”.
XDA Senior Member hikari_calyx, known for his work on unlocking the bootloaders of Nokia phones, compiled and installed the famous Superuser app onto the Harmony OS 2.0 beta virtual device. Here’s what happened:
Furthermore, you can use ADB (Android Debug Bridge) to pass along instructions to the HOS virtual device. In doing so, one developer managed to extract most of the system partition from the virtual device, revealing the build contains the Android framework.
All of this presents an interesting conclusion: The first beta of Harmony OS 2.0 is apparently still based on Android.
Now, there are a few explanations that one can make here. One might presume that Harmony OS 2.0 is just a rebrand of Android and intends to stay that way, but we reckon that while this may be true right now, it won’t always be the case. Based on previous presentations, Huawei did mention that using AOSP would serve as a transitional step towards building its desired Harmony OS experience, essentially a way to bridge the gap for users and app developers alike. Leveraging the existing AppGallery and HMS ecosystem brings momentum, so such a transitional step would be just what Harmony OS needs to hit the road with full speed.
We could also be wrong in that there is more nuance to this release than we know of. Huawei’s press release for the launch of its Harmony OS 2.0 beta doesn’t mention Android or AOSP, but we haven’t been able to read all of the documentation or watch all of the developer videos that Huawei uploaded since it’s all in Mandarin. We’ve reached out to Huawei for comment and will update the article if we hear back from them.
Update 1: “No discernible difference” between Harmony OS and Android
While our investigation into whether or not Harmony OS is simply Android was inconclusive, ArsTechnica came to a much more conclusive answer. In an extensive report, the publication says that there is “no discernible difference between Huawei’s ‘all-new’ OS and Android.” As we mentioned before, Huawei hasn’t made it easy for us to access the Harmony OS 2.0 beta. The emulator runs off of Huawei’s servers, is only accessible to Huawei-approved developers, and all the documentation is in Mandarin. Furthermore, Huawei’s registration process requires you to disclose some sensitive personal details (which to be fair may be due to Chinese regulations on international business), so we had to rely on third-party accounts from Chinese developers and incomplete firmware dumps when penning our original report. ArsTechnica‘s Ron Amadeo broke through these barriers to take a closer look at Harmony OS, leading him to the conclusion that the OS is essentially just Android under-the-hood.
ArsTechnica highlights how similar the Harmony OS 2.0 interface is to Huawei’s EMUI Android skin, which Huawei says is simply because they ported the EMUI look and feel to Harmony OS. Under-the-hood, though, there are lots of Android system components, including the “HarmonyOS System” app. This app is labeled as “version 10”, which is likely a reference to Android 10, the version of Android that ArsTechnica alleges Huawei’s OS is actually based on. Sample apps built with Huawei’s SDK are supposedly similar to Android APK files in that they can be unarchived like ZIP files, have a similar internal structure, and can be decoded with standard Android decompile tools. The publication further notes how feature-complete the beta seems to be in comparison to other in-development operating systems like Google’s Fuchsia or Samsung’s Tizen. Even after “hours of poking around on HarmonyOS”, ArsTechnica was unable to “point to a single substantive change compared to Android.” If Huawei’s plan is to change from “Android” to “not Android”, Ars contends, then how will they have enough time to do so given they plan to launch a phone with Harmony OS later this year?
Since Google owns the trademark for Android, it shouldn’t be surprising that there isn’t a single reference to it in Harmony OS itself, but Ars points out how odd it is that there’s no reference to Android in any of the official developer documentation. The documentation, as we noted, does not reveal much information about the underpinning of the OS. In fact, it raised more questions than it answers.
Is it possible that Huawei actually achieved a nearly seamless migration from Android-based EMUI to Harmony OS and that we’re only scratching the surface? Sure, it’s possible. We reached out to Huawei once prior to the original publication of this article, but we did not receive any concrete details about the architecture of Harmony OS 2.0, its kernel, ARK Compiler, or how the Android runtime fits into this. A few users in our comments have given possible explanations for the “Android-ness” of Harmony OS 2.0, but we have yet to see documentation or code that confirms this.