overview
Setup Android Development dengan Kotlin + VSCode di Low-End PC

Setup Android Development dengan Kotlin + VSCode di Low-End PC

April 24, 2026
9 min read
index

Jadi ceritanya saya pengen belajar pemrograman android dengan Kotlin, tapi laptop saya itu speknya pas-pasan. RAM 4GB, Celeron N4120, dan OS Debian. Kalau pakai Android Studio? Bisa-bisa laptop saya ngos-ngosan sebelum project-nya jalan.

Setelah nyoba konsultasi dengan asisten pribadi hehe, ternyata saya menemukan alternatif yaitu pakai VSCode + Android SDK CLI Tools tanpa Android Studio sama sekali. Dan alhamdulillah, berhasil! Di artikel ini saya rangkum seluruh prosesnya dari nol sampai app pertama jalan di HP.

Catatan:

Tutorial ini mencakup dua OS sekaligus — Linux (Debian/Ubuntu) dan Windows 10/11. Saya tandai dengan label [Linux] dan [Windows] di setiap langkah yang berbeda.


Sebelum Mulai

Walaupun pada judul saya bilang low-end tapi setidaknya ada batas minimum untuk spek laptop yang kalian punya. coba liat tabel berikut:

KomponenMinimumCatatan
RAM3GBPastikan tutup semua app saat build
Storage10GB kosongUntuk SDK + cache Gradle
OSLinux/Windows 10/11Linux lebih ringan
KoneksiStabilDownload sekitar 300-500MB

Berikutnya juga perlu menyiapkan beberapa hal berikut:

  • HP Android (untuk testing, kalo pakai emulator langsung terlalu berat!)
  • Kabel USB
  • VSCode (download disini dan install kalo belum)
  • Koneksi internet

Tampilan awal VS Code: VS Code View


Langkah 1 — Install JDK 17

Kita pakai JDK 17 LTS karena lebih stabil dan ringan dibanding versi terbaru.

[Linux]

Terminal window
sudo apt install openjdk-17-jdk-headless

[Windows]

Download JDK 17 dari https://adoptium.net, pilih JDK 17 LTS → Windows x64 → .msi, lalu install.

Setelah install, set environment variable:

JAVA_HOME = C:\Program Files\Eclipse Adoptium\jdk-17...
PATH += %JAVA_HOME%\bin

Verifikasi

Terminal window
java -version

Output yang diharapkan:

openjdk version "17.0.x" ...

Langkah 2 — Install Android SDK CLI Tools

Ini yang bikin setup kita beda dari tutorial biasa. Kita tidak install Android Studio, tapi hanya Command Line Tools-nya saja, jauh lebih ringan.

Download di: https://developer.android.com/studio#command-line-tools-only

Pilih versi sesuai OS kamu (Linux atau Windows). Varian Android Studio Command Line Tools

[Linux] Ekstrak & Pindahkan

Struktur folder yang benar wajib seperti ini:

~/Android/
└── cmdline-tools/
└── latest/ ← folder ini wajib ada!
├── bin/
├── lib/
├── NOTICE.txt
└── source.properties

Jalankan perintah berikut:

Terminal window
mkdir -p ~/Android/cmdline-tools/latest
mv ~/Downloads/commandlinetools-linux-*/cmdline-tools/* ~/Android/cmdline-tools/latest/

Tambahkan ke ~/.bashrc:

Terminal window
echo 'export ANDROID_HOME=$HOME/Android' >> ~/.bashrc
echo 'export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin' >> ~/.bashrc
echo 'export PATH=$PATH:$ANDROID_HOME/platform-tools' >> ~/.bashrc
source ~/.bashrc

[Windows] Ekstrak & Set Path

Ekstrak zip ke C:\Android\cmdline-tools\latest\

Tambahkan di System Environment Variables:

ANDROID_HOME = C:\Android
PATH += %ANDROID_HOME%\cmdline-tools\latest\bin
PATH += %ANDROID_HOME%\platform-tools

Install SDK Packages

Setelah path di-set, install package yang diperlukan:

Terminal window
sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0"

Ketik y saat diminta accept license.

Verifikasi

Terminal window
sdkmanager --version # harusnya muncul versi
adb --version # harusnya muncul versi ADB

Contoh output sdkmanager --version dan adb --version: Verifikasi SDK Manager dan ADB


Langkah 3 — Setup VSCode Extensions

Buka VSCode dan install beberapa extension berikut:

ExtensionPublisherFungsi
KotlinfwcdSyntax highlighting & code completion
Extension Pack for JavaMicrosoftTools Java lengkap
Gradle for JavaMicrosoftMenjalankan Gradle tasks
Debugger for JavaMicrosoftDebug aplikasi
Language Support for JavaRed HatIntelliSense & linting

Kalau kamu install Extension Pack for Java, ada beberapa yang ikut terbawa tapi tidak diperlukan untuk Android dev:

Terminal window
code --uninstall-extension vscjava.vscode-maven
code --uninstall-extension formulahendry.code-runner

Daftar extension yang sudah terinstall: Daftar extension VS Code


Langkah 4 — Buat Struktur Project

Buat folder project baru:

Terminal window
# Linux
mkdir -p ~/projects/MyApp
cd ~/projects/MyApp
# Windows (PowerShell)
mkdir C:\projects\MyApp
cd C:\projects\MyApp

Buat struktur folder:

Terminal window
mkdir -p app/src/main/java/com/example/myapp
mkdir -p app/src/main/res/layout
mkdir -p app/src/main/res/values

Struktur akhir yang terbentuk:

MyApp/
├── app/
│ ├── build.gradle.kts
│ └── src/main/
│ ├── AndroidManifest.xml
│ ├── java/com/example/myapp/
│ │ └── MainActivity.kt
│ └── res/
│ ├── layout/activity_main.xml
│ └── values/strings.xml
├── build.gradle.kts
├── settings.gradle.kts
└── gradle.properties

Lalu buka di VSCode:

Terminal window
code .

Langkah 5 — Buat File Konfigurasi

Ini bagian yang paling banyak filenya. Kalau pakai Android Studio, semua ini dibuat otomatis. Karena kita pakai VSCode manual, kita buat sendiri — tapi jadi lebih paham fungsinya.

settings.gradle.kts

“Peta” project — memberitahu Gradle nama project dan module apa saja yang ada.

settings.gradle.kts
pluginManagement {
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
}
}
rootProject.name = "MyApp"
include(":app")

build.gradle.kts (root)

Deklarasi plugin yang tersedia untuk seluruh project.

build.gradle.kts
plugins {
id("com.android.application") version "8.2.0" apply false
id("org.jetbrains.kotlin.android") version "1.9.22" apply false
}

gradle.properties

File paling penting untuk low-end PC. Di sinilah kita batasi penggunaan RAM Gradle.

gradle.properties
org.gradle.jvmargs=-Xmx768m -XX:MaxMetaspaceSize=256m
org.gradle.daemon=false
org.gradle.parallel=false
android.useAndroidX=true
org.gradle.daemon.performance.disable-logging=true

Kenapa daemon=false? Secara default Gradle jalan sebagai background process yang tetap hidup di memory. Untuk low-end PC, lebih baik dimatikan agar RAM dilepas setelah build selesai.

app/build.gradle.kts

Konfigurasi spesifik aplikasi — SDK version, dependencies, dll.

app/build.gradle.kts
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
}
android {
namespace = "com.example.myapp"
compileSdk = 34
defaultConfig {
applicationId = "com.example.myapp"
minSdk = 24
targetSdk = 34
versionCode = 1
versionName = "1.0"
}
buildTypes {
release {
isMinifyEnabled = false
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
}
dependencies {
implementation("androidx.core:core-ktx:1.12.0")
implementation("androidx.appcompat:appcompat:1.6.1")
implementation("com.google.android.material:material:1.11.0")
}

⚠️ Penting soal package name:

Nama package seperti com.example.myapp hanya boleh berisi huruf, angka, dan titik. Jangan pakai tanda strip - karena akan menyebabkan build error. Contoh yang salah: com.example.my-app

app/src/main/AndroidManifest.xml

“KTP” aplikasi — memberitahu Android cara menjalankan app kamu.

app/src/main/AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:label="MyApp"
android:theme="@style/Theme.AppCompat.Light">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

Note: android:label bebas pakai karakter apapun — ini cuma teks yang tampil di title bar dan app drawer. Yang harus mengikuti aturan Java naming hanya package name dan class name.

app/src/main/res/values/strings.xml

Tempat menyimpan semua teks aplikasi. Best practice Android agar mudah ganti bahasa nantinya.

app/src/main/res/values/strings.xml
<resources>
<string name="app_name">MyApp</string>
<string name="hello">Hello, Android!</string>
</resources>

app/src/main/res/layout/activity_main.xml

Desain tampilan UI — apa yang dilihat user di layar.

app/src/main/res/layout/activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello"
android:textSize="24sp"/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="Klik Saya"/>
</LinearLayout>

app/src/main/java/com/example/myapp/MainActivity.kt

Logika aplikasi — apa yang terjadi saat user berinteraksi.

app/src/main/java/com/example/myapp/MainActivity.kt
package com.example.myapp
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val textView = findViewById<TextView>(R.id.textView)
val button = findViewById<Button>(R.id.button)
button.setOnClickListener {
textView.text = "Salam alaykum, Dunya!"
}
}
}

Struktur file di VSCode Explorer: Struktur folder project


Langkah 6 — Setup Gradle Wrapper & Build

Generate Gradle Wrapper

Terminal window
gradle wrapper --gradle-version 8.2

Perintah ini membuat file gradlew (Linux) dan gradlew.bat (Windows) yang memastikan semua developer pakai versi Gradle yang sama.

Build Pertama

Sebelum build: tutup semua aplikasi lain (browser, file manager, dll) untuk membebaskan RAM sebanyak mungkin.

Terminal window
# Linux
./gradlew assembleDebug
# Windows
gradlew.bat assembleDebug

Build pertama akan download Gradle 8.2 (~100MB) dan semua dependencies. Proses ini hanya terjadi sekali — build berikutnya jauh lebih cepat karena sudah ter-cache.

KondisiEstimasi Waktu (Low-End PC)
Build pertama15–30 menit
Build setelah perubahan kecil2–5 menit
Build setelah ./gradlew clean5–10 menit

Kalau berhasil, output akhirnya:

BUILD SUCCESSFUL in Xs

Terminal menampilkan BUILD SUCCESSFUL: Build Successful


Langkah 7 — Install ke HP Android

Aktifkan USB Debugging di HP

  1. Buka Settings → About Phone
  2. Tap Build Number sebanyak 7 kali sampai muncul notif “You are now a developer”
  3. Kembali ke Settings → Developer Options
  4. Aktifkan USB Debugging

Colok HP & Verifikasi

Terminal window
adb devices

Output yang diharapkan:

List of devices attached
XXXXXXXX device

Kalau muncul unauthorized, akan ada popup di HP kamu — tap Allow.

Popup Allow USB Debugging di HP (izinkan saja):

Popup Allow USB Debugging
Popup Allow USB Debugging

Pilih jenis koneksi kabel Transfer File:

Pilih mode Transfer File
Pilih mode Transfer File

Install APK

Terminal window
# Linux
adb install app/build/outputs/apk/debug/app-debug.apk
# Windows
adb install app\build\outputs\apk\debug\app-debug.apk

Atau gunakan perintah ini yang langsung build + install sekaligus:

Terminal window
# Linux
./gradlew installDebug
# Windows
gradlew.bat installDebug

Buka app drawer di HP kamu, cari app “MyApp” dan buka! 🎉

Nanti, akan muncul aplikasi baru dengan logo default:

Aplikasi terinstall di HP
Aplikasi terinstall di HP

Hasil run aplikasi:

Tampilan utama aplikasi
Tampilan utama aplikasi
Interaksi tombol aplikasi
Interaksi tombol aplikasi

Workflow Sehari-hari

Setelah setup selesai, alur kerja hariannya simpel:

Edit kode di VSCode → Simpan → ./gradlew installDebug → Cek di HP

Referensi perintah yang sering dipakai:

PerintahFungsi
./gradlew installDebugBuild + install ke HP (perintah utama)
./gradlew assembleDebugBuild saja, tanpa install
./gradlew cleanHapus hasil build
./gradlew clean installDebugClean build dari awal
adb logcat | grep "com.example.myapp"Lihat log debug dari HP

Setup untuk Project Baru

Setelah project pertama berhasil, jadikan sebagai template untuk project berikutnya:

Terminal window
cp -r ~/projects/MyApp ~/projects/ProjectBaru
cd ~/projects/ProjectBaru

Ganti 3 hal berikut di project baru:

FileYang Diganti
settings.gradle.ktsrootProject.name = "ProjectBaru"
app/build.gradle.ktsnamespace dan applicationId
AndroidManifest.xmlandroid:label

Build kedua dan seterusnya jauh lebih cepat karena Gradle dan dependencies sudah ter-cache di ~/.gradle/.


Upload ke GitHub

Buat file .gitignore di root project:

.gitignore
# Gradle
.gradle/
build/
app/build/
# Local config
local.properties
*.iml
# IDE
.idea/
# Keystore — JANGAN PERNAH UPLOAD INI!
*.jks
*.keystore
# OS
.DS_Store
Thumbs.db
# Tambahan dari VS Code
.vscode/

Lalu push ke GitHub:

Terminal window
git init
git add .
git commit -m "first android app with kotlin"
git remote add origin https://github.com/username/repo.git
git push -u origin main

Jadi intinya, buat Android development di VSCode dengan spek pas-pasan itu bisa, tapi ya tetep kurang enak dan lumayan ribet wkwk. Keimpulan caranya kurang lebih gini:

  • Pakai Android SDK CLI Tools saja, bukan Android Studio penuh
  • Batasi RAM Gradle di gradle.properties
  • Pakai physical device, bukan emulator
  • Tutup semua aplikasi lain saat build

Memang setup manualnya lumayan banyak langkahnya dibanding Android Studio yang otomatis, tapi hasilnya kamu jadi paham betul fungsi tiap file di project Android. Dan yang penting laptop tetap bisa napas wkwk. 😄

Kalau ada error atau hal yang kurang jelas, feel free tinggalkan komentar di bawah!

Discussion