The only completely free distribution of Android is Replicant, but it works for very few devices and supports few hardware features even on those. A more realistic, yet freedom-oriented, distribution to use, which does come with binary blobs for hardware, is OmniROM, while a CyanogenMod-based possibility, but with less spyware, is SlimRoms. It tends to have more features and more up-to-date default apps than OmniROM. Now that CyanogenMod has moved away from its commercial venture and become LineageOS, that is the option supporting the most devices while not being overly riddled with proprietary parts. Even better is the LineageOS for microG fork, since even if you don't want to use any apps that need Google services, it still provides a fully free implementation of network location (the ability for your phone to determine its position without employing GPS, which works badly or not at all indoors, and consumes a lot of battery).
The bigger deal is doing away with the Google Apps. The biggest project that tries to tackle this is microG, attempting to provide much of the framework for apps that require Google Play Services to still work without. A Play Store replacement is also provided, but it is not necessary to use this if intending to only use free builds of open source apps.
One important goal of running free software is achieving better security; for a guide to security and privacy-enhancing apps, see Secure Android.
Which takes us to F-Droid, which is a "market" with only free apps, compiled by the team to ensure no blobs or "surprise features" are present in the binaries. This should be your first stop for most things, including those that will be listed below. Just enable unsigned apps installation, download it, and get going.
If you absolutely need to download an app from the Play Store, then it's possible to use Yalp Store with either your own Google account (which is theoretically at risk of being blocked, but apparently this has never happened to anyone so far), or one provided with the application. This lets you install paid apps, too, as long as you've bought them from the Play Store site first.
Google Now(wp) and its widget provide various types of handy information. There is nothing yet that can compare directly with Google Now, but there are some widgets that can be used to integrate some of the information it provides:
- DashClock and its various extensions are quite powerufl
- Calendar Widget shows your upcoming events
- World Clock & Weather provides weather information for any city
If you don't want the full microG (which is not available in F-Droid in the first place, and not required for the apps in it), you are advised to install its UnifiedNLP for GAPPS-free devices, which empowers your phone with Google-free network-based location (the ability to know where you are without turning the GPS on). You need to install at least one module for UnifiedNLP: some are actually network-based, and will have to send information about your device to external services, while others can work entirely offline, based on the knowledge of where mobile cells are located. Recommended modules are LocalWifiNlpBackend, which will locally gather WiFi access points as your phone finds them, and LocalGsmNlpBackend, which will let you download location information from the settings from Mozilla and OpenCellID and subsequently store them for offline use. Remember to enable network location in your system settings, and then enable and configure the backends from the UnifiedNLP settings!
This is a big one. Unfortunately, there isn't a single app, or, honestly, even a combination of multiple apps, that is as effective and comprehensive as Google Maps(wp). However, a free data source, OpenStreetMap, does exist, and a few apps make use of it and other resources.
- Maps is the most straightforward mapping application to use. Its maps are offline, but divided into small regions and a download can be automatically started when you enter a new region. It has voice instructions and a smooth 3D map.
- OsmAnd~ is the most well-established free offline turn-by-turn navigator. The upstream version is paid, but it's free on F-Droid. It is a powerful program, but it's big, somewhat slow, and not as friendly as the Maps.me.
- PocketMaps is a recent and more lightweight offline maps application, with routing (but not yet real-time turn-by-turn navigation).
- OpenScienceMap is a simple, yet effective, online map visualization app with 3D buildings and GPS/compass following. It's not on F-Droid, but it is open source. It can show the shorters route between two points, but not provide instructions or navigation.
- Transportr has accesses to the public transport data feeds for many cities and lets you calculate routes (sometimes including real-time delay data) between places.
- OpenBikeSharing has access to data feeds about public bike stations for multiple cities, with real-time availability.
Considering that all of these apps use the GPS to find your location, SatStat may be useful to troubleshoot GPS issues, as well as to download A-GPS(wp) data in advance to obtain a faster position fix.
Another potentially useful app is Speed of Sound, which will change the system volume (including of spoken direction) depending on your car's speed.
Since the Android e-mail client doesn't support Push notifications(wp) unless you're on LineageOS 15.1 or higher, you may want something else: K-9 Mail provides a solution, and while it hasn't been updated to Material design, there is a fork, simply called K9 Material unofficial for now, which has (but it's currently unmaintained).
To replace Hangouts or general instant messaging (anything supporting the XMPP(wp) protocol), Conversations is probably the most polished client, but Xabber offers more options. You can use either for Hangouts by just specifying your GMail address when creating an account.
If your Android distribution doesn't come with a modern, Material-styled Messaging app for SMS, you can give QKSMS a try.
For alternative messaging protocols and apps built around security and distributed systems, see this section.
For a browser, Chromium is not available in F-Droid yet, and while the Android built-in browser still works, it's starting to lag a bit behind, so you may want to use Lightning 2 instead.
You can of course use YouTube from its website, but a nice alternative, which also lets you download videos, is NewPipe. There is also SkyTube that, while somewhat less powerful in general, provides easier navigation within channels and recommended or trending videos.
The standard Android calendar hasn't been updated to Material design, but fortunately, someone has forked it and made Etar. However, whether you're using Etar or the standard calendar, there is no built-in way to use a local calendar, and you're prompted for some kind of account (which is usually a Google one for most people who have the GApps installed); but you can use Offline Calendar instead, or, if you want to connect to a CalDAV(wp) service, you can use DAVDroid (no Material, but you rarely see its interface) or aCalDav. DAVDroid has the advantage that some other apps specifically support it as a sync backend, particularly Tasks.
The search bar built into the Android launcher won't really work without the GApps installed. After disabling it, you can add the DuckDuckGo widget instead, which exposes a number of other functions as well,
For something slightly different, KISS launcher can be used either as a home screen or a dedicated application to start apps, look up contacts and other things by typing, as well as to search the web.
There isn't a full-featured alternative to Google's speech recognition engine, but the API(wp) to provide a speech recognizer are open, and there is one option called Kõnele (presently, there is a more up-to-date version on GitHub than the one on F-Droid), which, however, by default only understands Estonian. To make it understand English, one needs to provide a dedicated server, which is explained here. Before you try that, you can test the quality of English recognition provided by Kaldi at this demo site.
The Android camera still does a decent job, although it doesn't have the fancy features that the new Google camera comes with. If you're looking for a more "professional" camera, try Open Camera, while a seemingly unmaintained camera that tried to have more appealing looks and features is Focal.
To replace Play's ebook reader, you can use Book Reader, a fork of the no longer open-source FBReader. CoolReader and PageTurner are alternatives, the former quite popular, but they haven't been updated to Material design. All three programs can download free books from the FeedBooks catalogue.
It's hard to beat Google Translate, but if you want to use the original you can still do it through its website, while a nice and offline alternative is Mitzuli. Based on various open source engines (the translation module is Apertium), it supports several languages, and semi-working features like OCR(wp).
Unfortunately, the hooks to the Google backup service are not open to third-party programs that aren't part of the firmware. So, backups need to me made through several pieces of alternative software, some of which need root.
- oandbackup can make a copy of your apps' data and the apps themselves, but it needs root to achieve this
- SMS Backup+ can send a copy of all your SMS to any IMAP(wp) server and then transfer them back
- Slight backup makes copies of a few things but doesn't work very well with all of them, and in particular it cannot backup SMS on current versions of Android
There is no free driver to print directly to a Wi-Fi or USB printer. However, if you have a printer connected to a CUPS(wp) server, or implementing its own CUPS server, then you can use Android CUPS Print to print documents to it.