Feb 18, 2019
Ever since Android was launched in 2008, it has been continuously evolving and becoming smarter and innovative so that it provides best and optimum experience to its users. Now Android has moved towards making this experience more amazing and more richer for its users. This time it is about becoming complaint with 64 bit CPUs. The performance improvement is the main goal, also conferring with different futuristic plans ahead. The 64 bit CPUs are much faster, perform better and deliver richer experiences for their users. Adding a 64-bit version of your app provides performance improvements, makes way for future innovation and sets you up for devices with 64 bit only hardware.
Android now wants to help the Android Developer to get ready and take his time to plan for that. Since Android 5.0 Lollipop, Android has supported 64-bit hardware, and gave enough time to the developers, world over, to comply with the standards and updates. In 2017, Android first announced that apps using native code must provide a 64-bit version in addition to the 32-bit version. Now as we move into 2019, Android has given timelines to transition in 2019.
Timelines for 64-bit Requirement
Starting August 1,2019
According to the recent update made by Android, all of the new apps and app updates that include native code are required to provide the 64-bit versions along with the compatibility with 32-bit version while releasing on the Google Play. As per extension, Google Play will continue to accept the 32-bit updates for the existing games, which are developed using Unity 5.6 or older until August 2021.
Starting August 1, 2021:
According to the update made by Android, from August 1,2021, Google Play will stop serving the apps without a 64-bit version over 64-bit capable devices. This includes the games developed with Unity 5.6 or older.
What are the Reliefs in the Android’s Announcement?
These new guidelines are important for any Android app development company and the developers in this field. But there is some relief as well as the app bundles and APKs, which target Android TV or Wear OS, do not come under these new guidelines. Alongside, the app bundles or APKs, which are not distributed to devices with Android 9 Pie or later versions, the requirement guide does not apply to them also.
Android also cleared one more thing that these requirement guidelines do not make changes to its 32-bit support policy. Android further states that Google Play will continue to deliver apps to 32-bit devices. This requirement just means that apps with 32-bit native code will need to have an additional 64-bit version as well additional to the 32-bit version one.
Check if Your App Uses Native Code
If your app uses the code written in Kotlin or Java programming language, then this means that your app is already supporting 64-bit hardware. Whereas, if your app uses C or C++ code in the app or linked with native-third-party libraries or built by the third party app builder, which makes use of native libraries then that means your app uses native code and hence you need to assess your app and take appropriate steps.
Preparing for the 64-bit Requirement
Android says that most of the developers now build Android apps using non-native code i.e. either in Java or Kotlin and they do not need any code changes and their move to 64-bit is pretty straightforward. For other developers, below is an overview of steps which they need to take in order to become 64-bit compliant.
- Check Your APK or app bundle for native code: You can check for .so files using APK Analyzer. Identify whether they are built from your own code or are imported by an SDK or library that you are using. If you don’t have any .so files in your APK then that means you are already 64-bit compliant.
- Enable 64-bit architectures and rebuild: You have to enable 64-bit architectures and rebuild native code i.e. .so files imported by your own code.
- Upgrade any SDKs and libraries: You have to upgrade any SDKs and libraries to 64-bit compliant versions, if required. Contact the SDK or library owner if one is not available. Android is already working on this front.
- Test for Issues: You need to test for issues locally once you have rebuilt your app.
- Rollout to your testers: Your need to rollout to your testers using testing tracks for thorough testing.
Road Ahead for Game Developers
The three engines currently used most in game development already support 64-bit (Unreal & Cocos2d since 2015, Unity since 2018). Android understands that migrating a 3rd party game engine is an intensive process with long lead times. Since Unity only recently began providing a 64-bit support in recent versions, Android is granting an automatic extension to existing games using versions 5.6 or older until August 2021. For more information on how to upgrade to a 64-bit complaint version you can read the Unity guides.
For those that already support 64-bit version already, the road ahead is smooth. If you haven’t yet, Android is encouraging you to begin the work for the 64-bit requirement as soon as possible. We all know that the future is with artificial intelligence, IoT, machine learning and immersive mobile. The support to 64-bit hardware prepares for the advanced computing capabilities and the significant boost in performance. Hence the future will be for Android devices that support 64-bit code and you would certainly like to join this bandwagon with your 64-bit compliant Android app. Hence do the needful changes now.