androidgoogle-play-consoleepson

How to make APK compliant with Google Play 64-bit Requirement?


I know this question has been asked before, but I am still struggling to find a functioning answer on how to properly achieve this. When I upload our APK to the Google Play dev console, I get the following warning:

Error message from Google play console

Our application uses three jniLibs that fall into the following architectures: arm4-v8a, armeabi-v7a, and x86. Clicking the Learn More link attached to the error gives the following solution to this problem:

Adding ndk.abifilters to build.gradle

However, adding this ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86' in my default config in my build.gradle stills gives the same error referenced above. I am kind of lost on this as I am following what Google recommends and would appreciate any help on the matter.

Here's some additional information:

APK Analyzer Results

enter image description here

An optimal solution would either be: Upload the to the playstore with the x86 support without encountering any errors or upload to the Playstore without the x86 library and still be able to run the emulator within Android Studio. Any ideas?


Solution

  • I'd see two whole other options there ...

    A) You'd have to exclude that Epson native assembly for x86 from the release build... because when x86 is present, it will also demand x86_64. I'd assume it is there for x86 emulation, but for debug builds this isn't the problem. Removing it and using a slow ARM emulator might not be the answer. Try adding this into buildTypes.release (in order to keep it for debugging purposes):

    packagingOptions {
        exclude "lib/x86/*.so"
    }
    

    B) Seiko Epson would meanwhile offer native assembly for x86_64 ...if you'd update their SDK.


    Technically speaking, option A would be a whole lot better, because of a smaller package size.