How to Run 32-Bit APKs on 64-Bit Android Phones in 2025

Have you ever downloaded an old game or app, tried installing it on your new phone, and got stuck with:

  • ❌ “App not installed”
  • ❌ “App keeps stopping”
  • ❌ Crash as soon as you open it

If yes, you’ve hit the 32-bit vs 64-bit Android problem. In this guide, I’ll explain why this happens, what those mysterious .so library files are, and the different ways you can fix or work around it.


Why Old 32-Bit APKs Don’t Work on New Phones

Back in the day, most Android apps were built for armeabi-v7a (32-bit) devices.
Today, most modern phones are 64-bit only. That means:

  • Older APKs with only 32-bit libraries fail to launch
  • Newer phones expect arm64-v8a (64-bit) libraries
  • Some devices (older 64-bit models) still support both, but Android 11/12/13+ dropped pure 32-bit support

👉 So if your APK doesn’t have 64-bit support, the phone either refuses to install or crashes immediately.


What Are .so Files Inside an APK?

When you open an APK, you’ll see a lib/ folder with .so files:

lib/armeabi-v7a/libgame.so   → 32-bit  
lib/arm64-v8a/libgame.so     → 64-bit  

These .so files are compiled native code (C/C++). They’re critical for games and apps that rely on native libraries.

  • If the APK only has armeabi-v7a/ → it’s 32-bit only
  • If it also has arm64-v8a/ → it can run on modern devices

Common “Fixes” People Try (and Why They Fail)

1. Copying 32-bit .so files into a 64-bit folder

Some try creating a lib/arm64-v8a/ folder and copying the 32-bit files.

  • ✅ The app installs
  • ❌ But it crashes at launch with errors like:
    dlopen failed: wrong ELF class: ELFCLASS32

2. Deleting the arm64-v8a folder

If you remove arm64-v8a and leave only armeabi-v7a:

  • ✅ Works on older phones that still support 32-bit
  • ❌ Doesn’t work on new 64-bit-only devices

3. Replacing .so with files from a newer APK

If the same app/game has a newer version with 64-bit support, you can extract its lib/arm64-v8a/ and add them to the old APK.

  • ✅ Works if both versions are compatible
  • ❌ Crashes if function calls don’t match

Can You Convert a 32-Bit .so to 64-Bit?

Short answer: No.

A .so file is already compiled machine code. You can’t just “convert” it.
The only way to get a 64-bit version is:

  • Access the original C/C++ source code
  • Recompile using the Android NDK targeting arm64-v8a

Without the source, you’re stuck.


Real Ways to Run 32-Bit APKs on 64-Bit Android

If you’re just a user (not a developer), here are your realistic options:

✅ 1. Use a 32-bit Compatible Device

Old but reliable. If you have an older Android lying around, the app will likely run.

✅ 2. Use a PC Emulator

Install the APK in Bluestacks, LDPlayer, or Nox. These emulators still support 32-bit APKs and are perfect for games.

✅ 3. Use a Virtual Android App on Your Phone

Apps like VMOS Pro or X8 Sandbox let you run a separate virtual Android environment inside your phone.

  • Supports 32-bit APKs
  • Works without root
  • Performance might be slower

✅ 4. Find a Newer APK with 64-Bit Support

Sometimes developers already released a 64-bit version. Installing that (or extracting its .so files) is the cleanest solution.


If You’re a Developer

If it’s your app and you have the code:

  • Recompile using Android Studio + NDK
  • Include both architectures:
armeabi-v7a  → 32-bit  
arm64-v8a    → 64-bit  

That way, your APK works everywhere.


Final Thoughts

  • Simply copying .so files doesn’t solve the 32 vs 64 problem.
  • The only true fix is having real 64-bit libraries.
  • For end users: use VMOS/X8 Sandbox on Android or a PC emulator.
  • For developers: recompile your project with NDK 64-bit support.

In short:
👉 If you’re a user, your best bet is sandbox or emulator apps.
👉 If you’re a dev, the fix is recompilation.

That’s how you run 32-bit APKs on 64-bit Android in 2025.

Leave a Reply

Your email address will not be published. Required fields are marked *