
Source | Pinwan
At the end of 2021, the five major Android application stores in China jointly announced that they would promote support for 64-bit applications in the domestic Android ecosystem. According to the joint initiative released by these five manufacturers, any APP uploaded or updated on OPPO, vivo, Xiaomi, Tencent App Assistant, or Baidu Mobile Assistant must be in 64-bit format by the end of December 2021, and 32-bit APKs will no longer be accepted. Furthermore, starting from 2023, 32-bit applications will not be able to run on devices that support 64-bit systems.

Huawei, on the other hand, notified all developers through the Huawei Developer Alliance email that it would gradually phase out 32-bit applications and fully implement 64-bit versions:
Starting February 1, 2022, newly launched/updated games and applications in the Huawei App Market must include a 64-bit version, and the Huawei App Market will no longer accept applications that only contain a 32-bit version; starting September 1, 2022, the Huawei App Market will no longer accept applications that contain a 32-bit version.

Huawei Developer Email Image from the Internet
The main reason for mobile terminal manufacturers to promote 64-bit applications so “urgently” comes from pressure in the upstream supply chain. For instance, ARM announced that starting in 2022, it will no longer support 32-bit in its CPU Cortex big cores, pressuring downstream manufacturers to fully support 64-bit applications.

The Path to 64-Bit Android Is Not Smooth
Users who pay attention to mobile hardware should know that support for 64-bit applications has been available since the release of Android 5.0, when Qualcomm’s Snapdragon 410 processor was the first to support 64-bit architecture back in 2013. However, it wasn’t until 2022 that the transition to mandatory 64-bit support was enforced, which is three years later than Google’s requirement for developers to submit 64-bit applications to the Google Play Store in 2019.
Although Google had integrated the latest development tools in Android Studio to default to 64-bit so files when opening apps, this “mandatory” new regulation did not seem to garner enough attention. Developers could still modify the configuration files in Android Studio to package so files in 32-bit to “bypass” the restrictions. The international environment is thus, but the domestic Android ecosystem is different.

Play Store and App Market Updates Differ
Not only do mobile manufacturers have their official app stores, but there are also third-party markets such as Baidu Software Manager, Coolapk, and Tencent Mobile Assistant. If a phone has installed a non-official version from the official market, it may frequently jump between different versions across multiple stores, making it even more challenging to adapt to 64-bit applications. It is not easy to find a clean official application.
In summary, the confusion among official, unofficial, and firmware versions is a common issue in the software installation ecosystem.
By 2021, before Qualcomm’s 8 Gen 1 and MediaTek’s 9000 processors were released, there was a lack of effective means to fundamentally resolve this issue.
The only solution left is to eliminate this situation from the “ground up” and manage it through the hardware ecosystem. For example, Qualcomm and MediaTek released the Snapdragon 8 Gen 1 and Dimensity 9000 at the end of last year, which not only has significant performance improvements that the public can “perceive” but also upgrades the entire architecture to ARM’s latest generation Cortex-X2 super core, Cortex-A710 big core, and Cortex-A510 small core, with the most notable change being the lower-level “enhancement” where the instruction set adopts ARM V9.
ARM V9, like its predecessor V8, is a pure 64-bit instruction set. The Cortex-X2 super core and Cortex-A510 small core only support (backward compatibility with V8) 64-bit, while the “middle core” Cortex-A710 big core is compatible with the 32-bit V7 instruction set.

In other words, if the software is still 32-bit, it will only be able to run on the A710 core of new processors like Snapdragon 8 Gen 1 and Dimensity 9000 that use the V9 instruction set. This means that regardless of whether the phone is in locked mode or running in “performance mode”, the application will always be running on the A710 core, which is insufficient in performance compared to the super core and does not save power compared to the small core.

What Are the Improvements of 64-Bit?
The most direct advantage is that one can see the performance of 64-bit processors directly reflected in numbers. Vivo once stated, “Supporting 64-bit devices is the only way for Android applications to utilize an address space of over 4GB RAM, process data using wider registers and higher precision, and gain enhanced security features.”
At the same frequency, a 64-bit processor can handle 8-byte data, while a 32-bit processor can only handle 4-byte data, making data processing faster. Additionally, there is a significant difference in addressing space; for example, the 32-bit addressing space is 2 raised to the power of 32, supporting approximately 4GB, while 64-bit is exponentially larger at 2 raised to the power of 64 and supports dynamic memory allocation.
In summary, the collaboration of 64-bit processors, operating systems that support 64-bit applications, and 64-bit applications themselves is essential for improving operational efficiency.

Since 64-bit applications can bring performance improvements, why is their adoption so challenging?
A major reason, aside from the previously mentioned confusion regarding software versions and download channels, is that Android has very good compatibility with “old devices.” For example, although Google has implemented various measures to encourage developers to release 64-bit applications, it still retains compatibility with 32-bit applications, even providing a 32-bit option on its own Chrome browser download page.
Additionally, for developers, the maintenance and operational costs are also a hindrance to the widespread adoption of 64-bit applications. For instance, if a developer only creates 32-bit applications, they can run perfectly well on 64-bit processors, albeit not in optimal conditions.
However, if they only develop 64-bit applications, some older devices will not be able to run them, posing a risk of losing users. Moreover, developing and testing both 32-bit and 64-bit versions requires independent processes, adding to the maintenance burden.
Another important point is that developers do not solely use pure Java to develop Android applications; they often utilize the Android NDK to combine Java with C++. In C++, development is mostly team-based, which presents challenges for small development teams in terms of maintenance and subsequent security.

How Are Android’s 64-Bit Devices and Apps Developing in 2022?
Since the joint initiative has been announced, how well are Android phone manufacturers implementing it?
According to data from Umeng+ U-APM, as of December 2021, the market share of 64-bit and 32-bit devices was 65% and 35%, respectively. Moreover, according to Umeng+ U-APM’s mobile application performance monitoring platform, the crash rate of applications on 32-bit devices is 4.8 times that of 64-bit devices. In terms of both device share and stability, 64-bit applications are the trend.

Currently, whether in the built-in official app stores of mobile terminal devices or third-party application markets, neither Huawei nor OPPO’s app stores directly indicate whether the upgraded applications are 64-bit; only Xiaomi’s app store clearly labels which software is upgraded to 64-bit.


The left shows the vivo app store, and the right shows the Huawei app store, neither of which indicates 64-bit apps.
For instance, on my Huawei phone, I need to use a third-party program called LibChecker to check the applications on my device. Currently, there are 312 applications on my device, with approximately 66% being 64-bit and 29% being 32-bit.

LibChecker shows that the 64-bit software is mostly from Google and international apps, while 32-bit is mostly domestic software; the phone is a Mate 40 Pro with EMUI 11 version.
However, upgrading Android applications to 64-bit does not necessarily mean they will be more user-friendly than 32-bit. For example, a user on Zhihu reported that although QQ in the Play Store is a 64-bit version, it has serious bugs and is unusable, lacking a night mode and a simplified mode.

Image from Zhihu user Shijinshuijiu
In addition, the old version of QQ Music in the Play Store is 64-bit, but the new version has reverted to 32-bit.

The left shows the Xiaomi 12 Pro with Baidu Maps as 64-bit, while the right shows a 32-bit version with no noticeable difference in loading speed.
The open software ecosystem of Android directly leads to software fragmentation, making unification a challenging task.
Furthermore, looking at the current Android software, the installation package sizes are increasing, which directly leads to higher memory consumption during installation, increased system resource usage during operation, and higher performance requirements for the system. Adopting a 64-bit system allows for single-threaded processing of over 4GB of RAM, which can fully utilize the internal hardware for processing large games and high-bitrate video files.
This explains why smartphone RAM is increasing, often reaching 12GB or 16GB, and processor frequencies are also rising. All of this is to ensure that 64-bit software can run smoothly, but it also brings some negative factors such as power consumption issues and heat generated by super cores when handling large software.
In conclusion, 2022 may become the “year of large-scale adoption of 64-bit applications” for Android. The hardware pressure on software upgrades will become the norm, but ultimately, effective and non-universal measures are needed to ensure the healthy development of the Android ecosystem.
