Table of Contents

Environment Setup

General things

You need a computer :) A lot of things in this course are linked to Linux-ish things, so if you are using Windows, your mileage may vary. It should work by and large, but for anything unexpected you should have a VM installed - either HyperV (if you are using Windows 10) or VirtualBox (https://www.virtualbox.org/)

You need an Android phone. Some of the tasks in the sessions can be performed in an emulator, but everything related to Bluetooth communication requires an actual phone. We will provide a few phones for testing, but not enough for everybody.

Cloud

Java JDK

If you don’t already have this installed, we recommend installing Amazon Coretto - a free distribution of OpenJDK. Follow the link for documentation and installation instructions.

Java IDE

To work on Java code more simply, you’ll need a Java IDE. We recommend Intellij Idea (Community Edition), which is available in 2 forms. One of them - Intellij Community Edition is open-source, Apache 2 licensed, and available on Windows, Linux and Mac

Installation should be straightforward - Select Community Edition in the download page and follow the instructions.

Docker

You need Docker to be able to run and build containers. You can find installation instructions here:

Kubernetes

gcloud sdk / cli

You’ll need this to be able to talk to GCP.

Android

For writing, installing and debugging Android apps we will use Android Studio.

To install Android Studio on your own machine follow the step here: Install Android Studio.

We recommend adding into your path the Android SDK and especially the platform-tools. Out of them, you will use the command line tool ADB

Using adb you can:

You must also enable Developer Options on the phone.

Plugins needed in Android studio (go to Preferences → Plugin):

Source control

We will use git repositories hosted on Github. Their link and details will be added in each session.

Locally, you will need to install git and, preferably, a gui client such as gitk or SourceTree.