How to install Android 9 GSI on Samsung Galaxy A50

Comments 4

WARNING: Everything you do is at your own risk. I am not responsible for any damage to your device resulting from following these instructions.

These instructions have been tested on SM-A505FN/DS SEE version and firmware 2019-08-12 (A505FNXXU2ASH1).


Make sure you and your device meet all the following requirements before proceeding, as problems may arise if you do not meet all the prerequisites.

Step 1. Preparations

If your device’s bootloader isn’t unlocked, do so by following instructions here. Backup all data on your device, including the Internal storage and external SD card.

Turn off your device.

Install 7zip. Install Samsung USB drivers. Extract the GSI. Do not extract the TWRP tar file! Extract ODIN and run it to check if it works. Extract the configuration zip.

Rename the GSI to system.img, and create a new tar archive with 7zip called system.tar. Under Compression make sure to select Store!.

Install ADB drivers, and extract the platform tools into a folder.

Add the platform-tools folder to the Windows PATH variable (Start -> type environ -> Edit system environmental variables -> Environmental variables -> Select Path in the bottom list -> Edit -> Add ; (Semicolon) and then the path to the folder with platform-tools, i.e. “;C:\Users\Milan\Downloads\platform-tools”).

Step 2. Install TWRP recovery

First, boot your device into recovery by holding Volume up, pressing Power and releasing Power when the device vibrates.

From the recovery, Wipe data, then Reboot into Bootloader.

In ODIN, click the AP button and select the TWRP tar file. Plug in the phone which is booted into Download mode. Uncheck the “Auto reboot” option in ODIN.

Flash the image. When ODIN sucessfully flashes the image, unplug the phone, and hold Volume Down and Power until the phone turns off.

Then, immediately press and hold Volume Up so that the phone boots into TWRP Recovery.

If you are prompted to press the Power button to skip the Warning screen, press it shortly.

Step 3. Disable filesystem encryption

Plug the phone via USB.

In TWRP, swipe to allow modifying the /system partition.

If the touch screen doesn’t respond, wait a bit for ADB to initialize.

Mount /vendor partition.

From PC, go into the directory with the fstab.exynos9610 file, launch CMD there (by typing CMD into the address bar of Explorer), and run “adb push fstab.exynos9610 /vendor/etc/” (without quotes!).

Step 4. Flash system

Reboot into Bootloader from TWRP, then in ODIN select system.tar as AP file, disable auto reboot and flash it.

When it is flashed, unplug the phone’s USB and again reboot into TWRP.

Step 5. Fix system animations and overlay

In TWRP, mount /system and on PC run “adb push build.prop /system/system/” (without quotes!).

On PC, run CMD in folder where the overlay is and run “adb push treble-overlay-samsung-a50.apk /system/system/overlay/”.

Step 6. Format Data

Still in TWRP, Wipe Data and Format Data.

Step 7. Done

Reboot into System from TWRP.

You are done.

Your phone is now running a GSI!

What works and what doesn’t?

  • Not working: VoLTE, under-display Fingerprint, buggy proximity sensor, battery statistics inaccurate
  • Working: Everything else (i.e. 4G data, Signal bars, animations, good battery life, display brightness, calls, sound, WiFi AC and N, etc.)

Acknowledgements and copyright

The GSI you are now running is built and maintained by Pierre-Hugues Husson. The overlay was built by me and is released under MIT license. ODIN, Samsung drivers, Android platform-tools, ADB drivers, and 7zip may be copyrighted and are owned by the respected third parties. TWRP was built by an anonymous author.

This guide must not be reproduced, either in part or in full, without written permission from the author.


Comments (4)

Please be civil when commenting. Think before writing, don't spam, self promote, bully, harass or harm anyone. Please read the Comment Policy before posting. Comments are moderated.

medico hilleroed

medico hilleroed

"couldn't create file: Is a directory" error when using ADB push command in Powershell.
Putting the file name in again after the path helped
e.g "adb push build.prop /system/system/build.prop"

prolly not a problem if I'd used CMD instead of Powershell...But I need Powershells command history to help my memory.

Reply · 1 year ago · #198

Milan Kragujevic

...replying to medico hilleroed

Milan Kragujevic Admin

Oh. Sorry, I will make a note in the post. I followed these instructions and in my case they worked, but thanks for the information :)

Reply · 1 year ago · #199

medico hilleroed

medico hilleroed

Opps I see the point about renaming now :-)

Reply · 1 year ago · #197

medico hilleroed

medico hilleroed

in ODIN select system.tar as AP file?
which download is system.tar in?

Reply · 1 year ago · #196

Scroll to top