I had already tried to launch my expo project for 2 days, I do all suggest in Expo and Google play guides about how to upgrade to 64-bit version for pass all requirements from play store, but I still stuck with the same error that said “The following APKs or App Bundles are available to 64-bit devices, but they only have 32-bit native-code.”
OK, as long as you’re using an SDK >= 33 (which you are), that should produce a .aab file that contains 32 bit and 64 code as far as I know, so uploading that to Google Play should work.
Thanks for replying me, but that is What I have done so far. I already upload to the story many of times either apk or aab but it still getting the same errors, so I guess it is about my libraries or some of those modules.
OK, but your app is not ejected, right? (Based on the app.json and package.json it does not look like it’s ejected.) And it’s using SDK 35. So it should not have any 32bit-only code in it.
If you build an APK and then unzip it, have a look in the lib directory. If I do that with an APK I built a few days ago I see the following subdirectories:
arm64-v8a
armeabi-v7a
x86
x86_64
If I run file arm64-v8a/* then all of the libraries show as 64-bit shared libraries. Same for x86_64/*. The other two directories contain 32-bit shared libraries.
I don’t have an AAB file handy to poke around in there and I’m not familiar with the file format, but the same .so files should be included in the AAB file as well, so you should see something similar to the above.
I got the same .so name in all folders. And yes, my project is managed workflow, I read some articles they solve the issues by let the app use only 64-bit, but I really don’t know how to do that in Expo or If you have another way. please suggest me!
Please clarify, do you have the same subdirectories that I found in my APK? And in those directories, if you run the “file” command on the .so files, does it show that there are 64-bit files in two of the directories and 32-bit files in the other two?
I built my app with an app bundle so my directory arranged like this; base/lib/(arm64-v8a, armeabi-v7a, x86, x86_64). Moreover, I already checked all file by the command “file” as you have suggested, and the outcome seems to be normal.
Don’t worry too much about the build ID, debug_info and whether or not it’s stripped (although I’m surprised about the debug_info and lack of stripping on libjsc.so, it should not cause a problem).
hmmm… if you have 32-bit and 64-bit versions of all of those libraries (for both ARM and x86) then I am at a loss.
By now, I got a little bit more weird situation. I try to put my “.aab” file to be the new version in my Play Store with fresh install of Expo by “init” command. These error still the same as my previous project that I have try to put it in.What’s going on here? Please help!