Install Flutter SDK, Android SDK, and Start Android Emulator in WSL

RMAG news

In today’s rapidly evolving tech landscape, mobile app development has become a crucial skill for developers. Flutter, Google’s open-source UI software development toolkit, has gained immense popularity for its ability to create natively compiled applications for mobile, web, and desktop from a single codebase. This guide aims to walk you through the comprehensive process of setting up the Flutter SDK, installing the Android SDK using command line tools, and running an Android emulator on your system. Whether you are a beginner or an experienced developer, this step-by-step tutorial will help you get started with Flutter development in no time.

1. Verify Required Tools

Ensure the following tools are installed:
which bash file mkdir rm which
Expected output:

/bin/bash
/usr/bin/file
/bin/mkdir
/bin/rm
which: shell built-in command

2. Installed Required Packages

Update and install necessary packages:

sudo apt-get update -y && sudo apt-get upgrade -y
sudo apt-get install -y curl git unzip xz-utils zip libglu1-mesa

3. Install Flutter in VS Code

Launch VS Code.
Open the Command Palette: Control + Shift + P.
Type flutter.
Select Flutter: New Project.
VS Code will prompt you to locate the Flutter SDK.

If you have the Flutter SDK installed, click Locate SDK.

If not, click Download SDK.

4. Download Command Line Tools

Create necessary directories and download the tools:

mkdir -p ~/Android/Sdk/cmdline-tools
cd ~/Android/Sdk/cmdline-tools
wget https://dl.google.com/android/repository/commandlinetools-linux-7302050_latest.zip
unzip commandlinetools-linux-7302050_latest.zip
mv cmdline-tools latest

5. Set Up Environment Variables

Open your profile file (e.g., .bashrc or .zshrc):
nano ~/.bashrc

Add the following lines:

export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$ANDROID_HOME/cmdline-tools/latest/bin:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/emulator:$PATH

Apply the changes:
source ~/.bashrc

6. Install Java

Install OpenJDK 17:
sudo apt install openjdk-17-jdk

Determine the Java installation path:
sudo update-alternatives –config java

Set JAVA_HOME and update PATH:
nano ~/.bashrc

Add the following lines:

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

Apply the changes:
source ~/.bashrc

Verify Java installation:
java -version

7. Install Android SDK Packages

Navigate to the command line tools directory:
cd ~/Android/Sdk/cmdline-tools/latest/bin

Install required SDK packages:
./sdkmanager –install “platform-tools” “platforms;android-30” “build-tools;30.0.3” “emulator” “system-images;android-30;google_apis;x86_64”

Accept Licenses:
./sdkmanager –licenses

8. Create and Start an AVD

Create and AVD:
avdmanager create avd -n my_avd -k “system-images;android-30;google_apis;x86_64” –device “pixel”

Start the emulator:
cd ~/Android/Sdk/emulator
./emulator -avd my_avd

Troubleshooting

Error: libpulse.so.0 not found
sudo apt install libpulse0
KVM permission error
sudo chown username /dev/kvm

Running Android Emulator in VS Code

Run Emulator from Command Line:
cd ~/Android/Sdk/emulator
./emulator -avd my_avd

Select Device in VS Code:

Open Command Palette: Ctrl + Shift + P
Select Flutter: Select Device
Choose your running emulator from the list

These steps should help you set up Flutter and the Android SDK, create and start an Android emulator, and integrate it with VS Code.

Setting up a Flutter development environment can seem daunting at first, but with the right tools and a systematic approach, it becomes a straightforward process. By following this guide, you have equipped yourself with the knowledge to install the Flutter SDK, configure the Android SDK, and run an Android emulator on WSL. This powerful setup will enable you to develop, test, and deploy high-quality mobile applications efficiently. As you continue your journey in mobile app development, remember that the community and resources available are vast and supportive. Happy coding!

Reference: Start building Flutter Android apps on Linux
(https://docs.flutter.dev/get-started/install/linux/android)