This release is not compliant with the Google Play 64-bit requirement error still after adding libraries

11,515

Solution 1

@Osama: First of all, please check if your apk file have library in 64 bit. There are many way to do this: - Use Analyze Apk function of Android Studio (for more detail, please refer: https://developer.android.com/distribute/best-practices/develop/64-bit) - Archive your apk file and check inside that folder. If your app doesn't has folder "arm64-v8a" it mean your app still not versioned up to 64 bit.

About your requirement, if you want your app is support 64 bit architecture, you must also version up your native library (.so file) to 64 bit.

About your code:

ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'"

I don't recommend you add this unless you use AppBundle new feature of Android Studio. Because when you use this, there will be 4 new apk file created for each architecture. And if you upload the file of arm64-v8a architecture, the error will disappear but it will announce you that your apk is support less device than previous release because it cannot support 32 bit device.

There are 2 possible solution for this problem:

  1. Put all library file to your apk file, it will make your app bigger but it will allow your app to support every device.

  2. Apply AppBundle for your project. For more detail about this, please check this link: https://android.jlelse.eu/a-practical-guide-to-android-app-bundle-for-beginners-7e8d93831828

Solution 2

android {    
    compileSdkVersion 29    
    defaultConfig {    
        -----    
        -----    
        ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'    
        ndk {    
            abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'    
        }    
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"    
    }    

    packagingOptions {    
            exclude 'lib/armeabi-v7a/libvudroid.so'    
            exclude 'lib/x86/libvudroid.so'    
            exclude 'lib/arm64-v8a/libvudroid.so'    
        }    
Share:
11,515
Osama
Author by

Osama

Updated on June 12, 2022

Comments

  • Osama
    Osama almost 2 years

    I am uploading a video editor app on play store that has libraries with some native code. So I made it compatible for 64bit by adding this to gradle.

    ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
    

    Adding it still problem is not solved . When I upload on playstore it still gives 64bit error. This is my gradle

    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 28
        defaultConfig {
            applicationId "com.maam.videoeditor"
            minSdkVersion 17
            targetSdkVersion 28
            versionCode 5
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
            ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            }
        }
    }
    
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:28.0.0'
        implementation "com.android.support:customtabs:28.0.0"
        implementation 'com.android.support:design:28.0.0'
        implementation 'com.android.support:cardview-v7:28.0.0'
    
        implementation 'com.writingminds:FFmpegAndroid:0.3.2'
    
    }
    

    I have added 64bit line in gradle but on uploading 64bit not compliant error shows. Kindly guide on solving this problem.