This is a #wiki. You can make it better by editing it. Before you make any substantial changes or if you are uncertain about changes please discuss them here.
This guide will explain to you how to install apps on FP Open OS.
Level 1 is the basic guide for Android/Smartphone-newbies to learn the concept of app packages (.apk).
In Level 2 you’ll learn how to use an App Store like F-Droid, to find apps you need from a secure source and to keep your Apps up to date.
Level 3 is for finding apps that are not available on F-Droid.
If installing/using an app doesn’t work because of an error message saying something like “doesn’t work on rooted/jailbroken devices”, “won’t run without google services” or “doesn’t work on a modified device” you’ll need Level 4 or in very rare cases (App “needs” Google’s Security Net) Level 5
Level 1: Installing apks.
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.
Level 2: App Stores
App Stores - or app repositories - are Apps that show you a collection of Apps to download and install and - usually - automatically check for updates on installed apps.
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.
How to use F-Droid:
- Install it as explained in Level 1.
- Upon opening the App for the first time - if you are connected to the internet - it automatically downloads the “repository” (catalogue). If that doesn’t happen go to “Repositories” (found in the menu that opens if you press the 3 dots in the top right corner), make sure the main repository called “F-Droid” is enabled and then tap the circular arrow button.
- Once the catalogue is downloaded you can browse the list of all apps, order them by category or search for a specific app or a keyword (like “browser”)
- When you tap on an app you’ll see the “Install/Update”-button or you can scroll down to the list of versions and install a specific one.
- Usually it’s best to install the latest stable version (so just tap the install button) and to update as soon as an update is available. But if you find that an app causes troubles after an update you can downgrade it to a previous working version. In most cases you won’t loose any data by downgrading
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 Level 3).
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.
Level 3: Getting Play Store Apps from elsewhere
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
- Use Raccoon (You’ll need to log in with a Google Account)
- Swap apps with F-droid
- Install Yalp Store from f-droid (Now works without a Google Account [“Experimental”])
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 Level 4 or even 5).
Level 4: Tricking apps to work
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 these issues. (Depending on the reason(s) why the app won’t work, you may just need one of these options.)
If you already know that the app you are trying to get to work uses Google’s Safety Net, then go straight to Level 5.
Hiding root with RootCloak
If an App says it won’t work on “rooted or jailbroken” devices you can first try to simply switch off root in Settings > Developer (If you don’t have developer settings (yet) then root is not enabled.
If that 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.
- Now open Xposed Installer again and go to download and search for “rootcloak”.
- 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”.
Mocking Google with microG
If the above-mentioned Xposed Module doesn’t do the trick you’ll need microG.
Install the Xposed Module “Fake GAPPS” as you installed other Modules above and then do Step 5 in Level 5: Mocking an unmodified OS. (As an alternative to installing the Xposed module (which microG needs for “signature spoofing”) you can also use Tingle as explained in Level 5, Step 1a).
If none of this works for some apps you need to use then go on to level 5:
Level 5: Mocking an unmodified OS
This could brick your device.
You’ll lose root and have to uninstall Xposed!
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 ( 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 [default-jre], 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.
@Roboe made a free flashable ZIP.
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” ( 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!
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!
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.
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!
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!
Install the “Fake GAPPS” module in systemless XPosed if you haven’t yet.
- Enable the module
Step 5: Install microG.
- Uninstall any microG apps you may have downloaded from the standard F-Droid repository
- Go to the microG website and either
- add the repository address manually in F-Droid->Options->Repositories->"+", or
- tap the repository url and let F-Droid open it, or
- use a QR-code reader (from F-Droid) to scan the code and then select to open the link in F-Droid
- Install the latest
- microG Services Core
- may be called “µg UnifiedNlp (no GAPPS)” instead. In that case don’t just tap “install” but instead scroll down to the different Versions and select the latest one that comes from the “microG F-Droid repo” and not from the “F-Droid” Repository.
- microG Services Framework Proxy
- and at least one UnifiedNlp backend (from F-Droid repository, see this list, to get an idea of what you might want).
- Open microG Settings
- Enable device check-in and cloud messaging (Or similar, names change). See microG helpful-information to be sure that the cloud messaging working correctly.
- Do the “Self-Check”
- Ensure that all points are checked. If one of the points is not checked, read its description.
- Tap on “UnifiedNlp Settings” and set up the Nlp Backends you installed in the previous point
- Open microG Settings > Self-check again. Now all points should be checked. If so then you succeeded!
Step 6: 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!
Alternative/Workaround: “Multiboot” to FP OS
currently doesn’t work.
This is an alternative to Level 4 or 5, so to get an app working that won’t easily run on FP Open.
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.
Alternative/Workaround 2: OpenGAPPS
This is a workaround for Levels 3-4, by not trying to circumvent Google Apps & Services but installing them on Open OS.
You can do this by installing OpenGapps which are the actual GoogleApps and Services. So by installing them you’ll be spied on by Google again.
If an app you try to use needs SafetyNet this still won’t be enough as SafetyNet detects that your device is rooted (even if you disable root). So you’ll still need to get rid of root as explained in Step 1b in Level 5.