Setting Up Android Studio: A Beginner's Guide
Setting Up Android Studio: A Beginner's Guide
To start building Android apps, install Android Studio (the official IDE from Google), let it download the latest Android SDK, create at least one virtual device (emulator), and confirm everything works by opening a sample project. That whole process takes 20 to 40 minutes depending on your internet speed. Below is the exact order to do it in.
What You Need Before You Start
- A laptop or desktop running Windows 10/11, macOS, or a 64-bit Linux distribution.
- At least 8 GB of RAM (16 GB makes the emulator far smoother).
- Around 10 GB of free disk space for the IDE, SDK, and one emulator image.
- A stable internet connection for the downloads.
You do not need to install the Java Development Kit separately. Android Studio bundles its own JDK, so skip any tutorial that tells you to install Java by hand.
Step 1: Download and Install Android Studio
Go to the official page at developer.android.com/studio and download the installer for your operating system. Avoid third-party mirrors; you want the genuine build so updates and the SDK manager work correctly.
- Windows: run the
.exeand accept the default components. - macOS: open the
.dmgand drag Android Studio into Applications. - Linux: extract the archive and run
studio.shfrom thebinfolder.
On first launch, the Setup Wizard appears. Choose the Standard installation. It will download the SDK, a platform, the build tools, and the emulator. Let it finish without interrupting it.
Step 2: Confirm the SDK Is Installed
Open Settings (or Preferences on macOS) and search for SDK Manager. Under the SDK Platforms tab, make sure at least one recent Android version is checked. Under SDK Tools, confirm these are installed:
- Android SDK Build-Tools
- Android Emulator
- Android SDK Platform-Tools
If anything is missing, tick the box and click Apply to download it.
Step 3: Create an Emulator (Virtual Device)
You can test apps on a real phone or a virtual one. To make a virtual device:
- Open the Device Manager from the right-hand toolbar.
- Click Create Device.
- Pick a phone profile such as a recent Pixel.
- Select a system image (an Android version). Download it if prompted.
- Name the device and click Finish.
Press the play button to boot the emulator. The first boot is slow; later boots are faster.
Want to learn this properly?
Join the waitlist for our courses — beginner-friendly, project-first classes in Jalgaon.
Browse coursesStep 4: Create and Run a Test Project
Choose New Project, pick the Empty Activity template, set the language to Kotlin, and click Finish. Android Studio will sync the project with Gradle. When the green Run arrow lights up, press it. Your app launches on the emulator with a default screen.
Step 5: A Tiny Kotlin Sanity Check
You do not need to write much to confirm Kotlin works. The generated MainActivity.kt already uses Jetpack Compose. Here is a minimal composable you can paste in to confirm the toolchain compiles and runs:
// MainActivity.kt — minimal Compose screen to verify the setup works
package com.example.myfirstapp
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// setContent hosts the Compose UI for this activity
setContent {
Greeting() // render our composable
}
}
}
// A composable is just a function that describes UI
@Composable
fun Greeting() {
Text(text = "Setup complete!") // shows on screen if everything works
}
If the text appears on the emulator, your environment is ready.
Common Mistakes
- Skipping the SDK download to "save time." The IDE is useless without the SDK. Let the Standard setup finish.
- Installing a separate JDK and pointing Gradle at it. Use the bundled JDK unless you have a specific reason not to. Mismatched JDKs cause confusing build errors.
- Running the emulator without virtualization enabled. On Windows, enable hardware virtualization (VT-x / AMD-V) in the BIOS, or the emulator crawls.
- Ignoring Gradle sync errors. A red banner means the build is broken. Read the message; do not press Run and hope.
- Choosing too many SDK platforms. One recent platform is enough to begin. Extra downloads waste disk and time.
FAQ
Can I learn Android without a powerful laptop? Yes. If the emulator is sluggish, connect a real Android phone with USB debugging enabled and run on it instead.
Do I need an internet connection every time? Only for downloads and Gradle dependency fetches. Once a project is synced, you can build offline.
Is Android Studio free? Yes, it is free to download and use.
Keep Going
Now that your tools are ready, learn how the languages compare in Kotlin vs Java for Android, then build something real in Build Your First Android App. For the full path, see the Android learning hub.
Want a guided start with someone to check your setup? Join the waitlist for the Android Development course at Infoplanet in Jalgaon and learn step by step from the ground up.
Want to learn this properly?
Join the waitlist for our courses — beginner-friendly, project-first classes in Jalgaon.
Browse coursesFounder, Infoplanet
Atul Kabra founded Infoplanet in 2001 and has spent over two decades teaching programming — C, C++, Java, databases and more — to students across Maharashtra.
Related guides
Activities and Navigation in Android
What an activity is, how its lifecycle works, and how to move between screens cleanly using Navigation Compose, including passing arguments between destinations.
Calling an API in Android with Retrofit and Coroutines
How to call a REST API from an Android app using Retrofit and Kotlin coroutines: declare the endpoint, model the JSON, run the call off the main thread, and handle errors.
Layouts and UI in Android with Jetpack Compose
How to build Android screens with Jetpack Compose: stacking with Column and Row, layering with Box, controlling size and spacing with modifiers, and rendering lists efficiently.
