Let’s be honest, Google is awesome. It offers the best app and services for free. But there’s also no denying that nothing comes for free. If you are using a free service, you pay for it either by watching ads or with your data. So, when I decided to stop Google from hoarding my data, I wanted to do something concrete. Like, the question in my mind was – can I use my Android Phone without Google?
I have seen a lot of articles and videos on the Internet doing the same. But mostly they switch over to an iPhone or cut themselves of Android completely. I wanted to do this on an Android phone because as far as I know it’s supposed to be open-source. So, this shouldn’t be as difficult as everyone thinks!
Completely Remove All Google Apps From Android
Well, a custom ROM would do the trick but since the evolvement of Android, apps have increasingly started using the Google API. So, even after the custom ROM, apps would be depended on Play Services ie. Google API to function. Next, I ran into microG which is an alternative to Play Services. It’s relatively smaller in size than Google Apps, plus it functions as a clone for Google’sproprietary libraries. Meaning, any app that requests for Google’s library or API would be handled by microG’s API and libraries. Thus, I have a solution for my first problem.
Luckily, microG comes in bundled with Lineage OS. So, all I have to do is flash my Android with the microG variant of Lineage OS. I am using the latest build of Lineage 16.0 build on top of Android Pie for my Google Pixel. Following are the steps on how to flash Lineage OS for microG.
Flash Lineage OS for microG
Before, we start this process, make sure you have disabled screen pattern and password. In the latest version of Android, Google prevents third-party custom recovery tool from decrypting System Files. So, in order to avoid further problems, disable the screen lock. In addition to that, take the backup of your Android to your computer because we are about to wipe everything.
1. Make sure that you have USB debugging turned on your device. To that, go to the settings and turn on developer mode by tapping on the build number 5 times.
Now, once you have the developer options enabled, head over to it under the System Options menu. Under the developer mode, navigate to the Debugging section and turn on USB Debugging.
2. Next, we need to reboot the phone into fastboot mode. To do that, power off your phone first. Once done, press the power and volume down simultaneously until you see the following screen. Now, connect your phone to the computer via USB.
Alternatively, you can also fastboot your phone via ADB. Connect your phone to the PC via USB. Now, open the command prompt and go to the ADB location. Type the following command to boot directly to fastboot mode.
adb reboot fastboot
3. Now, we need to clean and wipe the previous OS files and then install Lineage OS. To do that, I am using a custom recovery tool called TWRP. You can download TWRP from here depending on the device you are working with. After downloading the file, make sure you have placed it inside the ADB folder. Now to boot to TWRP, below is the command.
fastboot boot twrp.img
4. Once you are in TWRP, you will be asked whether you want to allow TWRP to make modifications or keep it as Read Only. We need to allow TWRP to make modifications hence swipe on the slider to allow the permission.
5. Once you are in the TWRP Menu. Tap on the second button called “Wipe”. Here we will wipe the previous OS files and directories. Tap on the Wipe button to go to the next page.
6. Now under the Wipe Options, tap on the Advanced button at the bottom left of the screen.
7. Now, in the Advanced Wipe menu, select Dalvik/ART cache, System, and Data. This will remove system files, app data, on the Internal Storage. After that, swipe to wipe the data.
8. After it is done, we are going to sideload Lineage OS. If that’s a new term to you, it simply means flashing zip files on my Android from my computer. It’s just a lazy way to save steps of transferring files from computer to the phone. To go to the sideload mode on the phone, go back to the main menu and tap on the “Advanced” button.
9. Now from the Advanced Settings, tap on the ADB sideload button and then swipe to enter Sideload. Now, the phone is in sideload mode and can accept commands from ADB on the computer.
10. Once in the sideload mode, head over to the ADB command line on the PC. Now, we need to flash the Lineage OS for microG zip file on the phone. Copy the Lineage OS zip file inside the ADB folder. After that, type the following command.
adb sideload lineage-16.0-20190318-microG-sailfish.zip
11. Now, you need to patiently wait for ADB to install Lineage OS. The installation process on the ADB command line may get finished midway but don’t worry, its good. Once done, click on the “Reboot System button” at the bottom right corner.
12. In case you get a warning like “No OS installed!”, ignore the message. TWRP is not able to detect the recently flashed OS. Swipe to Reboot to System.
Now, the first boot will take time around 10 mins, so don’t panic right there. Leave the phone and let it boot. In case, you are stuck in boot loop, repeat the process again and this time wipe the internal storage as well.
Once the phone has booted up successfully, we can go ahead and setup microG. Since this is a microG variant of Lineage OS, you don’t need to install anything separately. To check if microG is functioning properly, go to the microG settings in the App Drawer. In the microG settings, tap on the first option called “Self-Check”.
Now in the Self-Check menu, you would see a lot of sub-sections. We need to check if microG is successfully signature spoofing, it has all packages installed, and has all the necessary permissions. For that, you need to check if all the checkboxes are ticked under “Signature Spoofing Support”, “Installed Packages”, and “Permissions Granted”.
In case you get any warnings or issues, you can uninstall microG and re-install it from the microG official website. Now, reboot your phone and check the Self-check section again for errors or warning. Now, that we have microG, we need an app repository for downloading apps.
F-Droid is already pre-installed but it has an extremely limited amount of apps. So, I could an open-source app repository called YALP store which sources apps from Play Store. You can download apps indirectly from play store without signing in. YALP store also includes Exodus Privacy which tells you about the different trackers in the app.
But YALP store has a problem that it cannot handle split APKs. So, it won’t be able to install apps like Twitter, Sync, Netflix, etc. So, on the same lines, I found a fork of YALP store called Aurora Store. In addition to installing split APKs, it has also included auto-update of apps and switching between multiple anonymous accounts.
Since we won’t be using any Gapps, we need an ideal replacement for them. Following are my alternatives for GApps.
- Call and message I already have the AOSP variants.
- Next, a private secure DuckDuckGo browser to replace Google Chrome.
- OpenStreetMap as an alternative for Google maps
- For video streaming, there is no clear YouTube alternative, so I will try to stick to Netflix and HotStar.
- Dropbox instead of Google Drive.
- Prime photos instead of Google photos
- Open camera instead of GCam or you could stick to the Lineage OS inbuilt cam.
- And finally ProtonMail instead of Gmail
In case you are wondering, yes these apps from other tech giants. But, the thing is by sharing all your data in one place ie. with Google you are making it centralized. Centralized data is rather more vulnerable and could lead to accurate profiling. However, if you share it with different companies it is more distributed and less vulnerable. Secondly, Amazon is not going to share your data with Microsoft and neither Microsoft will share it with Samsung. So, this scenario is better than GApps.
Week of Experience
Now, in my week of experience, I didn’t have any issues in installing apps from the Aurora Store. Due, to microG I was able to use most of the apps with minimal issues. To start talking about issues, firstly most of the Android apps use Google Cloud messaging API to push notifications from the server to the mobile App. It does work partially with microG, I do get random notifications. With WhatsApp, it works perfectly but with Instagram, I have to often open the app and refresh it to get notifications.
Another popular google API is the Google Maps API. Now, most of the apps are depended on the Maps API to get the location or draw the map. Now, Instagram and other apps can pull location name perfectly with the help of microG. But, when it comes to drawing maps there are issues. For example, the Uber app shows an extremely glitchy map. It is able to pull my current location and book a cab but the UI is extremely glitchy and the map is undrawn at places.
All the app alternatives worked well and I never turned back to using GApps except Open Street Maps. I had to switch to Here Maps which has its own set of trackers and data collection. But, it works well and at times I found the experience comparable to that of Google Maps. So, as a switch, I could live with Here Maps.
This week of experience was just an eye-opening change for me. I always felt that somehow I am not able to make time in my daily schedule for my hobbies. But, in the pursuit of cutting data mapping from Google, I realized where I am spending most of my leisure time. YouTube recommendations are great but they serve as a rabbit hole. Since I am not much of a movie buff, I ended up spending the YouTube watch time on reading books or with family. This really bumped up my productivity and lowered the fatigue level.
I would really recommend you to try this out as it is practically feasible. Let me know what was your experience and if you would like to add something to mine. Chao!