1

I have an android app that has .so files in 32-bit architecture. I don't have native code for 2 .so files. I got some issues over my app so I have edited and tried to update in play store. I get some error messages that I can't upload due to unsupported 64-bit architecture.so from getting all possible solutions. I did one major mistake like I have copied some files from 32-bit architecture and placed into 64 bit in libs. successfully I uploaded into play store. but it's reaching to 64-bit architecture for devices when I run and I get an error like "it doesn't have 64-bit code".

  1. I cant generate .so file from native code because of missing files.

  2. I try to retain my old apk but that's not possible of my mistaken new update in store.

is it possible to force an application to run 32-bit architecture for 64-bit devices with acceptance of the latest policy rules from google?

Lavanya Velusamy
  • 333
  • 1
  • 6
  • 16
  • Why would you copy paste a question? – sanjeev Nov 25 '19 at 08:50
  • @sanjeev those solutions are not valid after major update from google regards of 64 bit compliance – Lavanya Velusamy Nov 25 '19 at 09:03
  • As the answer to the duplicate question says, the only way your app would be run as a 32-bit app on a 64-bit device is if it contained only 32-bit native libraries. Since that is no longer allowed when publishing on Google Play, your app will now therefor run as a 64-bit app on 64-bit devices, and the native libraries you supply in the 64-bit folders must therefor be actual 64-bit libraries. – Michael Nov 25 '19 at 09:08
  • 1
    he also asked this in a AndroidDev support service, we already told him it's not possible but he wouldn't listen. – Daniele Segato Nov 25 '19 at 09:25

1 Answers1

1
  1. There is no way to load and run 32-bit libs in 64-bit environment. Having libraries in arm64-v8a folder, you mark your app as 64-bit.

  2. Very soon Android may drop support for 32-bit libraries altogether, so if you want your app to last for more than few months, you have no choice but find alternative libraries that are built for arm64. Or maybe you can implement same logic in Java.

Alex Cohn
  • 56,089
  • 9
  • 113
  • 307
  • Thanks, @Alex.Awaited for your reply.i seen lot of your answers from android NDK topics. I tried to load .so file from System.Load() dynamically from internal storage.as you mentioned when I gave arm libs. it's searching for 64-bit code. – Lavanya Velusamy Nov 28 '19 at 02:55
  • The requirement does not apply to: 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.From an official docs i found these points.if i target device below android pie,then can i able to update apk into store?.just for an alternative temporary solution get time for develop code in 64 bit until august 2020 new update.https://android-developers.googleblog.com/2019/01/get-your-apps-ready-for-64-bit.html – Lavanya Velusamy Nov 28 '19 at 03:00
  • I don't know how to interpret the clause "not distributed to devices running Android 9 Pie or later". The [Google Play Guide](https://developer.android.com/distribute/best-practices/develop/target-sdk) says, *When you upload an APK, it needs to meet Google Play’s target API level requirements. Both new apps and app updates must target at least Android 9 (API level 28).*. – Alex Cohn Nov 30 '19 at 20:34