Skip to content

Introduction

Course Hardware and Software

Hardware

You do not need an Android device for your coursework, but if you have access to one (or want to purchase one for your coursework), development feels more realistic.

The minimum recommended RAM for Android Studio is 8GB RAM with an SSD. More memory is better, as Android Studio and the Android emulator love to use lots of memory. Ideally you'll have 16GB or more RAM.

If you have only 8GB RAM, I strongly recommend you either upgrade your RAM or purchase an inexpensive Android phone for classwork. Many pay-as-you-go phones (which you do not have to activate) can be found for under $100 and will greatly improve your development experience. (Note, however, a physical device is not required for this course.)

Software

The following are the required versions of tools for this term.

Warning

Do not upgrade any versions after the first module unless I instruct you to do so! I want to make sure we're using the same version of everything that you are when I grade your assignment submissions.

Be sure to use the Kotlin DSL + Gradle Version Catalogs option for Build configuration language when creating new projects.

Please double-check these versions when creating new projects!

Note

The versions in the sample code may be a little behind. Google tends to release new versions right at the start of a term and I often don't have time to update all of the samples to immediately match.

Name Version
Android Studio
Install via Jetbrains Toolbox
Ladybug 2024.2.2 (feature drop)
Gradle
in distributionUrl in gradle/wrapper/gradle-wrapper.properties
8.10.2
Android Gradle Plugin
agp in gradle/libs.versions.toml
8.8.0
Kotlin
kotlin in gradle/libs.versions.toml
2.0.21
KSP
when adding ksp in gradle/libs.versions.toml
2.0.21-1.0.28
Jetpack Compose Bill of Materials
compose_bom in gradle/libs.versions.toml
2025.01.00
Android minimum API
minSdk in app/build.gradle
24
Android target API
targetSdk in app/build.gradle
35
Android compile API
compileSdk in app/build.gradle
35

Sample Code

See the "Welcome" module for download and usage instructions

If you see any problems in the sample code, please let me know and I'll update it.