Skip to main content

Android apps ready for the 64-bit requirement!





64-bit CPUs bring in areas such as artificial intelligence, machine learning, and immersive mobile. Supporting 64-bit prepares the ecosystem for the innovation enabled by the advanced compute capabilities of 64-bit devices, and for future Android devices that only support 64-bit code.

Starting August 1, 2019, all new apps and app updates that include native code must have 64-bit versions as well as 32-bit versions when publishing to Google Play.

How am I affected? Your app makes use of native code if it meets any of the following criteria:

- Your app makes use of C or C++ code.
- Your app links with third-party libraries that contain native code.
- Your app is built by a third-party app builder that uses native libraries.


Preparing for the 64-bit requirement

1. Inspect 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 do not have any .so files in your APK, you are already 64-bit compliant.

The simplest way to check for 64-bit libraries is to inspect the structure of your APK file.
List down libraries from 32 bit
List down libraries from 64 bit

Platform 32-bit libraries folder
x86 lib/x86
lib/armeabi-v7a

64-bit libraries folder
lib/x86_64x
lib/arm64-v8a

For the ARM architecture, the 32-bit libraries are located in armeabi-v7a. The 64-bit equivalent is arm64-v8a.

For the x86 architecture, look for x86 for 32-bit and x86_64 for 64-bit.

The first thing to do is ensure that you have native libraries in both of these folders.

Count should be exactly equal then your app is compatible to 64. Many apps are written entirely in non-native code(e.g. the Java programming language or Kotlin) and do not need code changes. If not

2. Enable 64-bit architectures and rebuild native code (.so files) imported by your own code. See the documentation for more details.
Follow the link: https://developer.android.com/distribute/best-practices/develop/64-bit

Upgrade any SDKs and libraries to 64-bit compliant versions, if needed. Reach out to the SDK or library owner if one is not available. Google is working with top library owners on their 64-bit compatibility.

3. Test for issues locally once you’ve rebuilt your app.
How to check if your Android phone or tablet is 32-bit or 64-bit
Check Android kernel version. Go to 'Settings' > 'System' and check 'Kernel version'. If the code inside contains 'x64′ string, your device has a 64-bit OS; if you cannot find this string, then is 32-bit.

4. Rollout to your app for testing.

Extensions: Google Play will continue to accept 32-bit only updates to existing games that use the following SDKs:

Corona Labs SDK - until August 2020
Adobe Air software and the AIR SDK - until August 2020
Unity 5.6.7 or older - until August 2021
This ruling applies to apps written in C or C++ code or apps with links to third-party native libraries, for example. It does not apply to the many apps written in Java or Kotlin.

Starting August 1, 2021:

Google Play will stop serving apps without 64-bit versions on 64-bit capable devices, meaning they will no longer be available in the Play Store on those devices.
This will include games built with Unity 5.6.x or older.
Preparing for the 64-bit requirement
APKs or app bundles explicitly targeting Wear OS or Android TV, which are form factors that do not currently support 64-bit code.
APKs or app bundles that are not distributed to devices running Android 9 Pie or later.

Reference:

https://developer.android.com/distribute/best-practices/develop/64-bit

Comments

  1. Thanks for sharing this valuable information with us, really best camera drone review.keep sharing with us.Thank you.

    Best Drone Camera Price in India
    Top Drone Camera in india
    Best Drone Camera in india

    ReplyDelete

Post a Comment

Popular posts from this blog

Google re-branded the support Android libraries to AndroidX

It is important to note, you cannot mix AppCompat and Jetpack in the same project. You must convert everything to use Jetpack if you want to upgrade. The support library artifacts are being deprecated and all future development is going into AndroidX , so there's no avoiding this migration. Alan Viverette sums this up nicely: “There won’t be a 29.0.0, so Android Q APIs will only be in AndroidX” The stable release of 28.0.0 will be the final feature release packaged as android.support . All subsequent feature releases will only be made available as androidx-packaged artifacts. Below tips will give you a clearer transition path. The current version of AppCompat (v28.x) is exactly the same as AndroidX (v1.x). In fact, the AppCompat libraries are machine generated by changing maven coordinates and package names of the AndroidX codebase. For example, android.support.v7.app.AppCompatActivity is now androidx.appcompat.app.AppCompatActivity For a complete listi

Android Beginners Guide

                                                                                                               Android Operation System: Android is an operating system based on Linux with a Java programming interface. It provides tools, e.g. a compiler, debugger and a device emulator as well as its own Java Virtual machine (Dalvik Virtual Machine - DVM). Android is created by the Open Handset Alliance which is lead by Google. Android uses a special virtual machine, e.g. the Dalvik Virtual Machine. Dalvik uses special bytecode. Therefore you cannot run standard Java bytecode on Android. Android provides a tool "dx" which allows to convert Java Class files into "dex" (Dalvik Executable) files. Android applications are packed into an .apk (Android Package) file by the program "aapt" (Android Asset Packaging Tool) To simplify development Google provides the Android Development Tools (ADT) for Eclipse. The ADT performs automatically the conversion f

Android Pi migration(28 API support)

I am here to give some inputs on android PI migration. .  Apps must target at least API level 28 to ensure it is built on the latest APIs optimized for security and performance . From August 2019, new apps must target at least Android 9.0 (API level 28) . The objective here is to make sure that your existing app works as-is on Android 9. Because some platform changes might affect the way your app behaves, some adjustments might be necessary, but you do not need to use new APIs or change your targetSdkVersion. Android Service Problem On Oreo, startService() will throw IllegalStateException. This can be fixed by changing it to startForegroundService(). but it also stops the service immediately if you don’t bind to the Notification with Service.startForeground() within 5 seconds. For other background service we decided to use the WorkManager . Implementation: Since we have minSdkVersion 19, We migrated to workmanger for scheduled tasks and we still use JobIntentSer