Huawei HarmonyOS 2.0 is a poorly-disguised Android 10 clone

nanoguy

Posts: 1,355   +27
Staff member
Unsurprisingly: Huawei is once again copying something and calling it its own, as the company is infamous for its aggressive corporate espionage efforts. In the case of Android, it's an even more straightforward affair considering the operating system's underlying code is open source. Huawei can call HarmonyOS an original creation all they want, but in reality is a rebranded Android fork.

Two years ago, Huawei confidently explained that it was ready to give up using Android on its phones and tablets in case the US were to block its partnership with Google. At the time, the Chinese tech giant hinted at the possibility of an alternative operating system developed entirely in-house and capable of supporting the same apps customers enjoyed on Android through the Play Store.

Navigating the trade war between China and the US has definitely taken its toll on Huawei and its ability to source software for its devices, which has forced the company to put money where its mouth is. However, it turns out the company is simply copying an older version of Android and slapping its Emotion UI (EMUI) on top of it.

Ars Technica's Ron Amadeo got his hands on the Harmony OS 2.0's SDK and was able to try out a "remote" device emulator, which required sending a scan of his passport, ID card, driver's license, and bank card, as well as going through a two-day background check (yikes!). This was arguably excessive on Huawei's part, but after waiting through the bureaucratic ordeal, Amadeo's social score was high enough to allow him the extraordinary privilege of deep diving into Huawei's "all new" mobile operating system.

Calling this a fork of Android would be an overstatement, as Amadeo found virtually no difference between Harmony OS (aka Hongmeng OS in China) and Google's Android 10. It's just Android 10 with the EMUI skin, which is precisely what Huawei has been shipping with its latest smartphone lineup. The "About" page has no references to Android, but looking at the open apps, one can easily notice the Android components running the show. Another dead giveaway is the fact that HarmonyOS is presented as "Version 10."

Still, one doesn't have to go through all this to find that Huawei's simply using Android and calling it something else. The documentation of Harmony OS is available online for anyone to take a look, but unless you can bear the vague language and the bombastic description of features that are standard on Android (and iOS, for that matter), it's not worth reading even for actual developers.

In the documentation, Huawei brags about a new app format that really is just an .apk file with a ".hap" extension, which stands for "Harmony OS Ability Package". Building a ".hap" package is the same process as building an app targeting Android API level 29 -- in other words, Android 10. Huawei's SDK is a carbon copy of Google's Android Studio SDK, but the company was careful not to mention it in any part of the documentation.

Bottom line, this looks nothing like what other companies like Amazon have been doing with their own forks of Android (Fire OS), or in the case of Samsung with Tizen which was built from the ground up as a Linux-based mobile operating system.

When Huawei revealed Harmony OS 1.0, it described it as a "microkernel-based, distributed OS for all scenarios," which at the time only meant TVs, smartwatches, and IoT devices. The second version of that is nothing like it, but that won't matter for its primary intended market -- China. Huawei intends to release Harmony OS 2.0 alongside its next flagship phones later this year, and by then it will have removed all references of Android.

As of writing, Huawei is still among the top five smartphone manufacturers in the world by market share, and has the benefit of being the darling tech company of the Chinese government, whose plan is to bolster its local tech industry until it achieves self-sufficiency. Copying Android was easy enough, since it's open source, but the difficult part will be making high-end chips for its devices once its stockpile runs dry. To that end, Huawei is exploring the idea of building a manufacturing plant in Shanghai, so we'll have to wait and see.

Permalink to story.

 
"for its aggressive corporate espionage efforts"
I thought they were way more known for selling the tech they licensed with agreements to terrorists thus breaking the agreements.
I mean, espionage is a whole industry's tradition, the other one not so popular.
 
I really do not like Huawei for their flood of fake reviews on a local market where I live, but I really hope they can get back here - not to make fake reviews again, but as an alternative that others (not me) liked very much.
This can at least help them to somewhat be prepared if the stupid ban will ever be lifted.
 
Not really. You are missing the point. HarmonyOS 2.0 has its own kernel, all be it Linux-kernel derived.

Upon their kernel is their KAL, kernel abstract layer.

The KAL serves the similar containerization functions as Linux LXC/LXD layer does, where any user space third party OS can run. In this case, the user space is Android.

Architected in such a way will provide a smooth migration of all the user apps down the road, which is a good transitional strategy.

You can run Unix under Windows 10 server kernel, but you still call it a Windows OS.

What you described Android is the user space os, a virtual os, but not the kernel, a host OS.

You can run a virtual os on a host os, but that doesn’t make the virtual os be the real os that handles the underlying hardware.

 
Just adding a few more words.

Android’s kernel is a linux kernel, and harmonyOS kernel is linux-derived too. What Huawei does is to run Android as a virtual os on HarmonulyOS as the host os.

The underlying kernel that handles the hardware is HarmonyOS kernel.

Linux kernel has a system container LXC that can run multiple virtual os’s. Same way HarmonulyOS has a kernel adaptation layer, KAL, to run different virtual os’s, and in this case it’s Android.

It’s an open technology and public knowledge to run virtual os on a host os. Following are some examples to make Android to run on Linux.

One way is to recompile Android to fit Linux:
https://www.android-x86.org/

Another way is to run Android on KVM/qemu of Linux, without having to recompile the code but with more overhead:
http://www.virtualopensystems.com/en/solutions/guides/kvm-android-on-fastmodels/

The third way is to using the third party open source package AnBox, just like KAL, to run Android on Linux: https://www.linux-magazine.com/Issues/2017/204/Android-in-a-Box

Or using some other third party open source packages:
https://github.com/limboemu/limbo/wiki/KVM

Here is how iOS can run on Linux:
https://alephsecurity.com/2020/07/19/xnu-qemu-kvm/

And lastly, KAL of HarmonyOS is here:
https://device.harmonyos.com/en/docs/develop/apiref/group__kal-0000001054948171

As the kernel of HarmonyOS contains partly a Linux-derived kernel and partly a real time kernel, called liteOS, the former handles general purpose system requests, and the latter handles real time deterministic such as 5g or ioT responses. The liteOS code is open sourced and here: https://www.codetd.com/en/article/11706160 and here: https://github.com/LiteOS/LiteOS

So in summary, it is misleading and incorrect to state: “ Huawei HarmonyOS 2.0 is a poorly-disguised Android 10 clone”. It’s not a clone, it’s a host OS that can run many other virtual os’s, including Android.
 
Back