Installing ARM Android apps on Genymotion devices

Hi, this is a quick tip for anyone interested in testing the security of Android apps without using a physical device.

Genymotion is generally recommended over using the Android SDK emulator provided with Android Studio, because it is more performant.
Only Genymotion is x86-based, so if you try to install an app including ARM code on any Genymotion device, you will get this error that you wouldn’t have on a physical device:

An error occured while deploying the file.
This probably means that the app contains ARM native code and your Genymotion device cannot run ARM instructions. You should either build your native code to x86 or install an ARM translation tool in your device.

arm-on-genyotion-error.png

This will prevent you from installing a lot of apps that you may need for bug bounty hunting like Twitter, Netflix, Pinterest, Snapchat, etc.

The solution is simply to install ARM translation on the emulated device:

  1. Download the right ARM translation archive for your device’s Android version. For Android 8, I used ARM_Translation_Oreo.zip.
  2. Drag and drop the .zip file to the device’s unlocked screen and click on OK when asked for confirmation

flash-arm-translation.png

Now you should be able to install any app even if it has ARM code.

For the little story, until now I only used physical devices for testing mobile apps. I switched recently to Genymotion and was surprised at the little amount of information on this error.
Most tutorials mention the Genymotion-ARM-Translation_v1.1.zip version which dates back a little and didn’t work for me.

The version mentioned above which worked is referenced in a chinese tutorial!
I didn’t check the archive’s contents, so be careful not to install it on a device that contains any sensitive data or apps.

This shouldn’t be a problem if you’re only using these devices to test apps with dummy data and accounts.

If you know of other ways to run ARM apps on Genymotion, you’re welcome to share them in the comments. I would gladly update this blog post to add them.


Also, let me know if you have a comment, suggestions, requests for tutorials, questions, etc.

See you next time. Happy hacking!


Comments