Skip to content

Latest commit

 

History

History
243 lines (181 loc) · 11.3 KB

android.md

File metadata and controls

243 lines (181 loc) · 11.3 KB

Android

Android is the #1 mobile phone operating system and uses the Linux kernel.

The majority of Android is free and open source through the Android Open Source Project (AOSP), but the phone manufacturers frequently add proprietary apps and drivers that cannot be audited or removed.

Recommended phones and tablets

Most phones that can be purchased at mobile phone stores are not very good. They usually are locked down to a specific carrier with unwanted programs pre-installed including spyware and have a locked bootloader. None of which is good.

The Google line of phones all come with stock Android and can be purchased with an unlocked bootloader through their website. Older unlocked Google phones can be found cheaper on ebay.

When buying a new phone, consult whether the phone is supported by alternative operating systems. Check the LineageOS Download page and Replicant Devices page first to see what your options are. It is much easier to buy a phone that will do what you want rather than making a phone do what you want without support.

If you already have a phone that I would not recommend, remember this for the next time that you are shopping for a phone.

Alternative versions of Android

I would suggest using LineageOS or Replicant.

LineageOS is Android without Google. This is my favorite version of Android.

Replicant is Android without any proprietary software.

Before changing the OS, make a backup of your files and OS.

Beware of unofficial releases of operating systems. The operating system must be trusted more than any of the rest of the software on your phone. If the author is a random person on a forum that does not use their real name, would you trust giving that person access to your location and passwords? You should not trust an individual on the Internet that is anonymous.

Read and follow the documentation for installing new operating systems on your phone.

If checksums are available, make sure that your download is correct.

If signing keys are available, make sure the download came from the developer.

App Stores

Unlike Apple iOS, there are many different app stores available for Android, but only one of them is good.

F-Droid

F-Droid is a free and open source app repository for Android based phones. Applications that may not have your best interests will list their antifeatures. Most applications found in F-Droid contain Richard Stallman's Four Freedoms.

Most phones will come with Google Play Store preinstalled. I do not trust Google and I only use F-Droid.

F-Droid can be installed on any Android based phone and do not require on of the recommended alternatives.

If an app has features that you may not like, they are clearly marked as anti-features.

F-Droid Apps

There are many apps on F-Droid. Searching for useful apps is kind of difficult if you are new to F-Droid. These are my favorite apps separated by category and loosely ranked for usefulness within each category.

Navigation
  • OSMAnd~ - OpenStreetMap Android client - Navigate offline with maps that you can download before you go.
  • StreetComplete - OpenStreetMap editor - Find local quests that help build OpenStreetMap. Instead of contributing to a closed dataset from a map company by playing Pokemon GO, help build a map that the community owns with StreetComplete. Great motivation to take walks around neighborhoods and explore.
Social Media
  • RedReader - The best Reddit client in my opinion.
  • NewPipe - Youtube client.
  • Thorium - Peertube client.
  • Fedilab - Fediverse client (includes Mastodon).
  • Silence - Encrypted SMS text messages
  • Session - Session solves all of my concerns against Signal.
  • Jitsi Meet - Video chat that can be trusted. Works best with 2-4 people.
  • Jami
  • AntennaPod - Podcast browser, fetcher, and player.
  • ObscuraCam - Censor photos on your phone before uploading them to the Internet.
  • Scrabled Exif - Remove picture metadata before uploading them to the Internet.
  • MemeTastic - Create memes offline without watermarks. You must supply your own templates.
  • Element - Matrix client
  • Materialistic - Hacker News client
  • DankChat - Twitch chat client
Development
  • FastHub-Libre - GitHub client.
  • LabCoat - GitLab client
  • Termux - Terminal client for Android that includes a package manager.
  • Hacker's Keyboard - Alternative keyboard that has all of the keys of a standard computer keyboard.
  • Script Manager - Run bash scripts on your phone with a few taps. This is really handy for running scripts often without needing to use the on-screen keyboard.
  • WiFiAnalyzer - Helps search for WiFi channels in range and helps decide which channel you should use when setting up a new router.
  • CV Droid - Unofficial Common Voice client to train the DeepSpeech neural network.
Utility
  • G-Droid - Alternative F-Droid client with a better search function and more metrics about individual apps.
  • OpenCamera - Better than the stock LineageOS camera.
  • OCR - Optical Character Recognition (OCR)
  • Markor - Text editor with markdown support.
  • KOReader - Ebook reader
  • UntrackMe - Convert links to AGPL alternatives.
  • AFWall+ - (Requires root) Application FireWall allows detailed control of how an app can interact with your networks. If you have metered Internet or dataplans, this is a must have application. Control whether an app can communicate on your local area network, access the Internet through WiFi, or access the Internet through data plan.
  • AdAway - (Requires root) Block common ads and tracker domains through the hosts file on your phone.
  • Simple Bitcoin Widget - Widget to track cryptocurrency prices (not just BTC).
  • LibreSpeed - Speed test
  • Metronome - Musicians can keep time with a metronome
  • NFC Reader - Read RFID beacons.
  • andOTP - One time password generator that does not require Google Authenticator
  • phyphox
  • SatStat
  • microMathematics Plus - Turn your phone into a graphing calculator
  • Share to Computer
  • Diary
  • MuPDF viewer - Read PDF files.
  • Coffee - Keep the phone awake. This is especially handy for when you need to read a recipe.
  • NoPhoneSpam - Automatically block known spam calls.
  • Firefox Klar - Firefox browser with extension capability.
  • IceCat Mobile - Fork of Firefox ESR with privacy extensions pre-installed.
  • Lemmur - Lemmy (Reddit alternative) client
  • Loyalty Card Keychain - Scan your barcodes and use an app instead of carrying around your library cards and grocery store discount cards.
  • ConnectBot - SSH client
  • ClassySharkExodus - Scan apps for tracking behavior.
  • PilferShush Jammer - Jam tracking behavior of other devices around you actively. Jam tracking behavior of untrusted apps on your phone passively.
  • Priority Alerts - Based on strings or numbers, set off an alarm when important text messages come in. This is especially useful for sysadmins that receive text alerts.
Fun
  • Kore - If you use Kodi, you need kore as a remote control.
  • M.A.L.P. - If you use mpd, you need M.A.L.P. as a remote control.
  • ReGeX - Learn regular expressions through "regex golf" gamification. My regular expressions have improved because of this app.
  • Easy XKCD
  • Open Chaos Chess - What if you could only choose which piece to move instead of where it went? That question is answered by Open Chaos Chess.
  • Mindustry - Building and defense management game which runs very well on mobile.
  • OMW Nightly - OpenMorrowind for mobile. Incredible open world first person RPG game. Assets must be purchased separately online.
  • Minetest - Open sandbox game similar to a very popular voxel building game.
  • PianOli - Piano app with lockdown mechanism for kids to play with your phone.
  • Vitosha Blackjack - Classic casino style of blackjack.
  • OneTwo - Dice probability simulator. Left your dice bag at home? You can still play any dice game on the go.
  • RetroArch - (Not on official F-Droid repository) Emulate retro games. Compatible with RetroAchievements.
  • Kodi - (Not on F-Droid, but the apk can be downloaded directly from their site) Run Kodi media center directly on your phone.
  • Cataclysm: Dark Days Ahead - (Not on F-Droid, but apk is available direct from their website) Apocalyptic survival horror rogue-like game.

adb

adb is a command line program to interact with Android based mobile phones.

Install

Install adb on a Debian based GNU/Linux distribution. adb works for other operating systems, but I am only documenting GNU/Linux.

sudo apt update && sudo apt install -y adb

Backup

Connect the phone to the computer.

Start the adb server and list phones.

sudo adb devices

At this point, the phone asks you for permssion.

Enter the shell on the phone.

adb shell

List the files on the phone.

ls sdcard

Exit the adb shell.

exit

Make a directory to dump the files in.

mkdir ebooks

Change into that directory.

cd ebooks

Pull a folder.

adb pull /sdcard/ebooks/

Make another folder and backup another folder.

mkdir ../camera
cd ../camera
adb pull /sdcard/DCIM/OpenCamera/

Once you know all of the folders you want to backup, you can build a script to run through the process.