Among the reasons why I bought the Fairphone 2 is its engagement about open source. I wish with this phone to rely the most possible on free software and to control everything on my phone. This way, I'm not obliged to always buy new hardware because of software updates even though it's still working. Also, I can use the services I wish like my own cloud (powered by Owncloud haha!) instead of Google's, Apple's or Microsoft's clouds on which I don't know what is happening. Good news: Fairphone released its own open source operating system based on Android called Fairphone Open.
First, when I got my Fairphone, I tried Fairphone OS delivered with it which is Android with Google apps. There are quite a lot of apps pre-installed! Among them, almost all are from Google. You should have seen the amount of battery all these apps were using in background! Two days later, I switched to Fairphone Open to get rid of all this bloatware.
Installing Fairphone Open
It's quite easy to install Fairphone Open. At first, I only knew that I had to download it from here and to launch it from the file explorer Amaze and that's how I did. However, it seems it's already possible from the Updater app to switch from Fairphone OS to Fairphone Open.
Since I switched, I feel that the battery last longer and that I have less data usage. I think every Fairphone user should switch to Fairphone Open even if they use Google because they will gain in battery life and performance. They can still install Google apps later on if they need to, but this way they can only install the required apps and they could even install free software implementations of Google services which seems to be less battery-hungry.
Tutorial: Getting control on apps
I really dislike apps which have too much permissions when it's not needed. Why does a torchlight app need access to contacts? It seems iOS users can download apps on their iPhone and then authorize access to some resource according to the context. This is already good, but I don't think they can have a fine-grained control on the apps. In any case on Android there is nothing like that so let's fix it by installing XPrivacy!
I license the following tutorial under CC-BY Creative Commons license so anybody from the Fairphone community can reuse it:
Getting control on apps by Killian Kemps is licensed under a Creative Commons Attribution 4.0 International License.
This app allows users to have complete control on every app on the phone and to give access accordingly. It's so powerful that it can make app crash, but no worry, you only need to give permissions back to make the app work again. To install XPrivacy we will have to follow three steps:
- Become root
- Install Xposed framework
- Install XPrivacy
Disclaimer: I wrote this little tutorial to help other people to do what I did without having to search everywhere for information. I'm a new Android user and I can not guarantee that all the following actions will have no issues.
1. I'm root
What does it mean? Being root on Android means the same thing as being root on Linux (normal, as Android is based on Linux). So, when you are root you can do everything on your phone without restriction, including doing things Google's Android usually don't want you to do because you may break your phone. So usually for this reason, you lose your warranty on your phone when you try to become root. In our case, we can assume that as Fairphone is giving us an easy access to it, it may be covered by the warranty.
Why becoming root? In our case we need to become root because of the XPrivacy app which can't work otherwise.
To become root on Fairphone Open it is quite easy: activate the Developer mode by tapping several times on the build name in Settings (don't be shy, just do it even if it seems weird) and then activate root mode in Developer settings. And voilà!
2. Installing Xposed framework
If you wish, you can already install the XPrivacy app now, which will give you a checklist of everything needed to make it work, but you can also simply follow the tutorial in this order.
It was quite complicated to find how to install XPrivacy and Xposed. After some research, I found this post on the Fairphone forum which gives a good idea of the procedure, and also these instructions in german on android-hilfe.de. So, if I missed something below, you may find more information in those links.
So I rewrite here the entire procedure in English:
- Download Xposed Installer's APK from the XDA Developers forum (it's called "XposedInstaller_3.0_alpha4.apk" as attached file of the first post): http://forum.xda-developers.com/showthread.php?t=3034811
- Download Xposed from the following link: http://dl-xda.xposed.info/framework/ (I took xposed-v84-sdk22-arm.zip)
- Reboot your phone in recovery mode TWRP (Team Win Recovery Project) by pressing volume up and power buttons on the Fairphone
Disable signature verification (I don't know why it is needed and I know that removes a security, but it seems to be like this) and install the framework while in TWRP. I took some pictures:
- Boot back to Fairphone Open and install the Xposed Installer APK through Amaze
- Reboot the phone
Yes, it's was a little bit long, but now you have the Xposed Framework working. Next and last step will be easier.
3. Installing XPrivacy
We are almost there. We installed the needed base and now we can go to what we want.
After having installed the Xposed Framework:
- Open the Xposed Installer, go to Download and install the XPrivacy module.
- Reboot your phone
- Start the XPrivacy module and configure permissions as you wish
- Final reboot to apply your XPrivacy configuration
That's it! Now you have a phone without bloatware, without proprietary apps and with a better control of future apps you will install.