Skip to content

Latest commit

 

History

History
237 lines (175 loc) · 12.2 KB

android.md

File metadata and controls

237 lines (175 loc) · 12.2 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 (including Google) 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 GrapheneOS installer and the LineageOS Download 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 an unsupported phone do what.

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 GrapheneOS. GrapheneOS is a security hardened version of Android.

Anoterh options that I would recommend and have personally used is LineageOS. I would also consider trying DivestOS.

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, communication and browsing history, 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 for daily usage.

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 and the only third-party Reddit client available.
  • NewPipe - Youtube and bandcamp client.
  • Mastodon - Mastodon client.
  • Session - Session solves all of my concerns against Signal.
  • Jitsi Meet - Video chat that can be trusted. Works best with 2-4 people.
  • Jami - Encrypted messaging app
  • 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.
  • Materialious - Invidious client.
  • DankChat - Twitch chat client
  • Jerboa - Lemmy client.
Development
  • FastHub-Libre - GitHub 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.
  • WiFiAnalyzer - Helps search for WiFi channels in range and helps decide which channel you should use when setting up a new router.
Utility
  • Neo Store - Alternative F-Droid client with a better search function and more metrics about individual apps.
  • KeePassDX - Manage and create secure passwords offline. Compatible with KeePassXC.
  • Flexify - Track gym progress.
  • Diary - Diary app that creates a text file for the given day to write notes.
  • OpenCamera - Better than the stock LineageOS camera.
  • OCR - Optical Character Recognition (OCR)
  • Markor - Text editor with markdown support.
  • KOReader - Ebook reader
  • LibreSpeed - Speed test
  • Metronome - Musicians can keep time with a metronome
  • NFC Reader - Read RFID beacons.
  • phyphox - Read the sensors from your phone.
  • SatStat - Read the sensors from your phone.
  • microMathematics Plus - Turn your phone into a graphing calculator
  • Share to Computer - Transfer individual files over local WiFi.
  • 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.
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 - Client for webcomic XKCD.
  • 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.
  • Mindustry - Factory building/tower defense 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 - 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.

Enabling developer mode

I cannot remember if this is a prerequisite for this process as I always do it first thing to a new phone install.

  • Open the Settings app.
  • Select the About Phone option.
  • Find the Build number. Tap on that several times until it says that you enabled developer mode.
  • Go back a page and select the System option.
  • Select the Developer options option.
  • Enable the USB debugging option.
  • Exit the settings app.

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.