How to be able to install and use any app on FP Open OS [meta discussion]

ok, for now: below is the whole post after my edits.

I already understand that I misinterpreted the end of ‘your’ level 4.

My main idea with the edits (apart from providing a few more details, mostly on the µG part) was to convey that you do not need to think of this as a list of things you need to do.
Example: I had to get my app from apkmirror (so level 3 monster? but then it’s an apk file that i installed, so level 1?) and then “only” patch with Tingle and set up µG (so part-time level 5? – e.g. i did not have the issue you mentioned in your PPS since i did not have Xposed installed (which I believed I needed for a long time and thus was very reluctant to give everything a try)).

Also, there might be an app which needs µG but does/does not work with root. So here “level4” and “level 5” get mixed up.

As for the installation procedures: I find it much easier/comfortable/carefree to trust f-droid and just install sth. by clicking on a button instead of downloading something from some shady website :wink: … and so forth. So “my” Level 1 is F-Droid App Store.

So those were my thoughts on the levels and why i removed them – i tried to rather present everything as “alternatives” or a set of options. As stated before, I see the issue with the references to the guide that already exist. – I don’t see the problem, however, with leaving the current guide as it is and only add a link to a new version (“This guide will not be updated anymore, see here for a new version” or the like). that way we could rewrite it and not mess up all existing references. if anybody follows an old link, they will still see what was meant (“do step 5 in level 5”) but get a chance to see the updated guide as well.

ALL THAT BEING SAID: It should me made such that it is most helpful for future “solution seekers” :wink: maybe i am the only one who is(was) confused by the levels and the amount of information. :slight_smile:


:information_source: This is a list of the different possible ways to install apps on FP Open OS. For some apps only one way will be possible and for some you might have to trick them to work.
Since it’s a #wiki you can make it better by editing it. If you want to discuss the guide please do so here.

#Installing from .apk-files.

read on...

To install an App on Android you need an .apk file. This is a package that contains the app. But first, to be able to install such an .apk file you need to allow the installation from unknown sources in the phone’s settings. To Android an unknown source is anything but the Play Store unfortunately.
So go to Settings > Security and toggle “unknown sources”.
Now download the .apk file to your phone or copy it from your computer via USB.
E.g. download F-Droid from here: https://f-droid.org/
Once it’s downloaded you can tap on the notification or navigate to the file (depending on your browser either in “Downloads” or the browser’s folder) with the preinstalled App “Amaze”. After tapping the .apk file or the notification the installation window opens and you just have to tap “next” and “install”.

Troubleshooting - issues that may occur:

  • You can’t tap the “install” button.
  • This is another strange security feature of Android and usually caused by an app that is creating an overlay over your screen - e.g. to dim the screen in the evening. Another example is the App OpenWLANMap. Quit these apps (within the app or by going to Settings > Apps > All and tapping “force stop”) - then the “install” button should work again.
  • After I tap “install” I get an error message.
  • This usually happens if the app you try to install is not compatible with the phone. Make sure you are trying to install the right version of the app. Some apps will not install on modified Operating Systems (e.g. rooted). Either find an alternative app or see below for how to mock a unmodified OS.

#Installing from App Stores

read on...

App Stores - or app repositories - are Apps that show you a collection of Apps to download and install and - usually - automatically check for updates of apps installed via the app store.

The most used App Store on Open OS is probably F-Droid. It contains only free (as in freedom and as in free beer) apps and it’s a very secure source for apps as the people who run it compile the apps themselves - making sure there is no malware or spyware embedded in them. You don’t need an account as with most other app stores.

I dare say you’ll get everything you need on F-Droid, unless you need a specific app that is not available there and you can’t use alternatives.
In that case you can try other App Stores like the Amazon Store or you can get apps from the Play Store from alternative sources (see below).

Troubleshooting - issues that may occur:

  • “Can’t update app from different source”
  • If you have different app stores you can run into trouble updating. Basically you can only update each app within the same app store as you installed it in the first place. If you want to update it with another store - e.g. because Store 2 has a newer version than Store 1 - or even downgrade it - because you trust Store 1 more than Store 2 - then you need to uninstall the app first.

#Alternative sources for Play Store apps

read on...

So you switched to Open OS to get back a bit of your freedom from Google, but now you still want to use some apps that are not available on alternative stores?
That’s usually not a problem. You can download .apk files of Play Store Apps that don’t cost anything from

Most apps installed that way will work on Open OS. Some apps will claim they need Google Services, but still work. Some will really not work, but you can trick them into working (see below).



If you have troubles getting an app to work (because, for example, it requires Play Services or does not want to run on rooted phones) you can try one of the following:

#Tricking apps to work using Xposed modules

read on...

:exclamation: If you run into troubles caused by trying what is described below Fairphone Support may not be able to help you until you revert to a previous state. So make sure you make a good backup first - preferably with TWRP.

If an App you installed refuses to work (properly) because you don’t have Google Play Services installed or because your phone is rooted here are some tricks to work around this. For some apps these tricks won’t be enough and you’ll need to make them believe you have an unmodified OS (see below).

###Hiding root with Root Cloak

If an App says it won’t work on “rooted or jailbroken” devices and simply switching off root (in Settings > Developer (If there are no developer settings then root is not enabled)) doesn’t do the trick or you need root while using the app, you can try root cloak to hide your root status.

Here is how:

  • You’ll first need to enable root in the developer settings. If you don’t have developer settings then go to Settings > About phone and tap the build number 10 times.
  • Now go to Settings >Developer and enable root.
  • Now you’ll need XPosed. There are two versions - the official Xposed Framework and Systemless Xposed. Since the latter also works with Level 5: Mocking an unmodified OS I’ll explain how to install it here.
  • Install the Xposed Installer from here.
  • Start it and swipe to the left twice to get to the systemless tab. There download the Framework.
  • Xposed will ask for root access (allow it) and then reboot to recovery (TWRP).
  • In TWRP tap install and navigate to the downloaded file (it’s not in downloads but in Xposed.)
  • Install it and after you get the blue “Success” message reboot to system.
  • Now open Xposed Installer again and go to download and search for root cloak.
  • Download and install it, then go to Modules.
  • Enable root cloak and reboot the phone.

###Surpressing “This App needs Google Play Services” messages

If you have an app that works, but you constantly get error messages about the missing Google Play Services you can try the XPosed Module “This App will run without Google Play Services”.
Do the exact same thing as explained above for root cloak except don’t download the “root cloak” module but “This App will run without Google Play Services”.

If this doesn’t do the trick you’ll need microG. See Step 5 in Mocking an unmodified OS. (Optional: Install the Xposed Module “Fake GAPPS” as you installed other Modules above.)

#Mocking an unmodified OS with microG

read on...

:exclamation: This could brick your device.
:warning: You’ll lose root and have to uninstall Xposed!

Note that some of these steps are optional. Your app might be happy with just µG with Nlp backends. Or it might additionally need the play store (i.e. “FakeStore”) or it might additionally need signature spoofing.

###Step 0: Prepare

  • Make a full backup with TWRP
  • If you already tried different ways and following this guide doesn’t work it may be best to start fresh, so wipe everything with TWRP (make sure you saved the backup somewhere else).
  • After you wipe the system with TWRP you’ll have to reinstall the OS, but before you can do that you’ll have to reboot to Recovery ( :exclamation: make sure you don’t reboot to system as there is none).
  • As TWRP starts again it will ask you whether it should be allowed to make changes to system. You’ll have to say yes!
  • You can then restore “Data” from your backup and continue with step 1.

###Step 1a: Patch the framework.jar with Tingle to be able to spoof signatures.

  • On your computer, download Tingle (https://github.com/ale5000-git/tingle) and its dependencies (java, p7zip-full, adb, python)
  • Connect your phone to your computer, make sure that
  • USB debugging is activated
  • adb has root access
  • multimedia usb sharing is deactivated (select PTP instead of MTP as usb connection option).
  • Verify that adb sees your device (you might have to add its USB ID first)
  • In your computer’s terminal type python main.py (or python3 main.py), select option “1 - patch file from a device (adb)” and keep a copy of the output

###Step 1b: Uninstall root (skip if not applicable)

@Roboe made a free flashable ZIP. :slight_smile:

  • Download ZIP to your FP2 (from here)
  • Flash from TWRP
  • Reboot to System
Alternative version with a proprietary app
  • Download and install Root Explorer from https://rootexplorer.co/ (thanks @oli.sax)
  • Open it, grant superuser rights.
  • Navigate to system/bin and delete “su”
  • Navigate to system/xbin, mount R/W and delete “su” ( :exclamation: make sure you do it in this order, otherwise you won’t be able to delete the /bin su file. )
  • Reboot, now you don’t have any root rights anymore.

You can test with Root Verifier or by trying to navigate to /root with Amaze. If you get an error message like “Amaze was not granted root rights” than you succeeded! :ballot_box_with_check:

Steps 2-4 are not necessary anymore. So they are hidden here.

###Step 2: Flash & Install Magisk.

Get the latest Magisk zip and apk from here flash the zip in TWRP and then install the apk.

If you start the app it and it tells you that root is not installed and everything is green then you succeeded! :ballot_box_with_check:

###Step 3: Flash & Install phh’s SuperUser.

Get the zip file from (direct link, thanks @oli.sax) and the apk from here. Flash the zip then install the apk.
:exclamation: TWRP doesn’t detect this way of implementing superuser either so every time you reboot from TWRP it will ask you to install superuser. Make sure to decline!

Now in magisk the root status should be “mounted” in red. Use the toggle, allow root rights and it should turn to a green “not mounted”. If so: Success! :ballot_box_with_check:

###Step 4: Install &Flash systemless Xposed.

Install the Xposed installer from here. If you have flashed Xposed before download the correct uninstalled within the app and flash it with TWRP. Now download the systemless Xposed and flash it.
If you open the Xposed Installer it should now show you a big white on green checkmark meaning you installed Xposed successfully! :ballot_box_with_check:

Install the “Fake GAPPS” module in systemless XPosed if you haven’t yet.

  • Enable the module
  • Reboot

###Step 5: Install microG.

  • Uninstall any microG apps you may have downloaded from the standard F-Droid repository
  • Add the microG repository to F-Droid.
    • Go to the microG website and either
    • add the repository address manually in F-Droid->Options->Repositories->"+", or
    • use a QR-code reader (from F-Droid) to scan the code and then select to open the link in F-Droid to add the microG Repository)
  • Install the latest
  • microG Services Core
    • :exclamation: may be called “µg UnifiedNlp (no GAPPS)” instead. In the list of versions, make sure to select the latest version from the “microG F-Droid repo”, since then both versions from “microG F-Droid repo” and “F-Droid” are listed (the ones from “F-Droid” have higher version numbers, which might be confusing at first)
  • microG Services Framework Proxy
  • FakeStore
  • and at least one Unified NLP backend (from F-Droid repository, see this list to get an idea of what you might want).
  • Open microG Settings
  • Enable device checkin and cloud messaging (currently called “Google device registration” and “Google cloud Messaging”).
  • Do the “Self-Check”
  • Ensure that all points are checked. If one of the points is not checked, read its description.
  • Open the UnifiedNlp Settings and set up the Nlp Backends you installed in the previous point
  • Reboot
  • Open microG Settings > Self-check again. Now all points should be checked. If so then you succeeded! :ballot_box_with_check:

###Step 6 (optional): Install microG DroidGuard Helper.

From microG’s F-Droid Repo.
Can be tested with com.scottyab.safetynet.sample. (from here thanks @oli.sax)
If it tells you “SafetyNet request: success” “Response validation: Success”, “CTS profile match: false”, then you succeeded! :ballot_box_with_check:

###Step 7 (outdated): Updating the OS with this setting

This part is outdated

If there is a new update you won’t be able to apply it via the updater.

  • Download the “OTA” file from here and save it to your SD card along with the .zip files of the latest magisk, SuperUser and systemless XPosed (download from within the app or here)
  • Install the OS in TWRP and then flash magisk, Superuser and XPosed.
  • Reboot to System
  • Open Magisk and make sure it’s all still green and the superuser toggle works.
  • Open XPosed and make sure all Modules you need are enabled - if some weren’t reboot afterwards.
  • Open microG Settings and do the selfcheck to see everything still works.
  • Disable root with magisk and check the Safetynet helper
  • If anything doesn’t work as expected make sure you have all the latest versions installed. If the problems persists let’s discuss here.

#Alternative/Workaround: “Multiboot” to FP OS

read on...

Follow this wiki to install EFIdroid and use it to install FP OS alongside FP Open OS.

Possible Issues & Cons:

  • For me Security Settings in FP OS kept crashing so someone who knows their way around ADB had to enable “allow unknown sources” remotely so I could install apps without a Google account.
  • You can use the guide from the first spoiler of this wiki to get rid of google as much as possible, but you won’t be as free and protected as on Open OS.
  • Also some apps will only work if you enable at least Google Play Store & Services.