Flutter WSL Tanpa Android Studio
Development android dengan WSL kayanya keren juga. Berawal dari mata kuliah Mobile Computing yang mengharuskan instal Flutter oleh dosen. Berhubung sekarang selalu pakai WSL untuk development coba-coba ah instal Flutter di WSL.
Development android sangat berat karena menjalankan virtual device pada mesin, menjadi alasan utama kenapa menggunakan WSL karena untuk menghindari Android Studio karena ukuran file yang sangat besar, sedangkan laptop sendiri masih kentang.
Instalasi Flutter, Java dan Command Line Tools
Instalasi Java bisa menggunakan APT dengan versi Java 18:
$ sudo apt install openjdk-18-jdk
$ java --version
openjdk 18.0.2-ea 2022-07-19
OpenJDK Runtime Environment (build 18.0.2-ea+9-Ubuntu-222.04)
OpenJDK 64-Bit Server VM (build 18.0.2-ea+9-Ubuntu-222.04, mixed mode, sharing)
Struktur Folder
Untuk struktur folder lebih rapi kalau disimpan ke dalam satu folder, ya sesuai preferensi sebenarnya. Sebagai contoh di sini saya menyimpannya ke folder /opt
pada linux dengan nama folder Android. Di dalamnya nanti tersimpan toolkit untuk development android menggunakan Flutter.
$ sudo mkdir /opt/Android
Install Flutter
Untuk download pilih sendiri karena URLnya pasti berganti karena versi Flutternya berubah-ubah. Jadi di sini hanya instalasinya saja.
Ekstrak menggunakan perintah tar
:
$ tar xf flutter_linux_3.13.6-stable.tar.xz
Lalu pindahkan hasil ekstraknya ke folder yang sudah dibuat di awal tadi.
$ sudo mv flutter /opt/Android
Install Command Line Tools
Command Line Tools ini adalah utilitas untuk melengkapi development Android. Tapi yang kita gunakan di sini hanya sdkmanager
untuk instal Android SDKnya.
Link downloadnya ada di sini https://developer.android.com/studio#command-tools
Ekstrak file yang sudah didownload menggunakan perintah unzip
:
$ unzip commandlinetools-linux-10406996_latest.zip
$ ls cmdline-tools
NOTICE.txt bin lib source.properties
Setelah itu buat folder dengan nama latest
di dalamnya.
$ cd cmdline-tools
$ mkdir latest
Lalu pindahkan seluruh file dan folder ke dalam folder latest
.
$ ls
NOTICE.txt bin lib latest source.properties
$ mv NOTICE.txt bin/ lib/ source.properties latest
Setelah itu pindahkan folder cmdline-tools
ke folder /opt/Android
.
$ sudo mv cmdline-tools /opt/Android
Environment Variables
export ANDROID=/opt/Android
export PATH=$ANDROID/cmdline-tools/latest:$PATH
export PATH=$ANDROID/cmdline-tools/latest/bin:$PATH
export PATH=$ANDROID/platform-tools:$PATH
# Android SDK
export ANDROID_SDK=/opt/ANDROID
export PATH=$ANDROID_SDK:$PATH
# Flutter
export FLUTTER=$ANDROID/flutter
export PATH=$FLUTTER/bin:$PATH
Instal Android SDK
Untuk Flutter perlu instal beberapa seperti build-tools
, platform-tools
dan platforms;android
.
Saya di sini langsung menggunakan versi paling terbaru yaitu Android SDK 33, jika ingin melihat daftar seluruhnya bisa menggunakan perintah:
$ sdkmanager --list
Untuk instalasinya:
$ sdkmanager "platform-tools" "platforms;android-33" "build-tools;33.0.0"
Setelah itu accept licenses:
$ sdkmanager --licenses
Check Installation
Setelah itu cek menggunakan perintah flutter doctor -v
:
$ flutter doctor -v
flutter doctor -v
[✓] Flutter (Channel stable, 3.13.6, on Ubuntu 22.04.3 LTS 5.15.90.1-microsoft-standard-WSL2, locale C.UTF-8)
• Flutter version 3.13.6 on channel stable at /opt/Android/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision ead455963c (10 days ago), 2023-09-26 18:28:17 -0700
• Engine revision a794cf2681
• Dart version 3.1.3
• DevTools version 2.25.0
[!] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
• Android SDK at /opt/Android
• Platform android-33, build-tools 33.0.0
• Java binary at: /usr/bin/java
• Java version OpenJDK Runtime Environment (build 18.0.2-ea+9-Ubuntu-222.04)
! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[✓] Linux toolchain - develop for Linux desktop
• Ubuntu clang version 14.0.0-1ubuntu1.1
• cmake version 3.22.1
• ninja version 1.10.1
• pkg-config version 0.29.2
[!] Android Studio (not installed)
• Android Studio not found; download from https://developer.android.com/studio/index.html
(or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
[✓] Connected device (1 available)
• Linux (desktop) • linux • linux-x64 • Ubuntu 22.04.3 LTS 5.15.90.1-microsoft-standard-WSL2
[✓] Network resources
• All expected network resources are available.
! Doctor found issues in 3 categories.
Sudah deh selesai, tapi perlu instal beberapa prerequisites untuk linux.
$ sudo apt install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev