Sebagian besar dokumentasi Capacitor berasumsi Anda menggunakan Mac. Jika Anda develop di Windows, web layer dan Android bekerja dengan cara yang sama, hanya ada beberapa kendala spesifik Windows terkait PowerShell, panjang path, dan emulator. iOS adalah satu hal yang tidak bisa di-compile di Windows, dan solusinya adalah menggunakan cloud macOS build.
Panduan ini berisi setup lengkap Windows 11, mulai dari mesin kosong hingga build Android di perangkat dan build iOS di TestFlight melalui Capgo Build.
Apa yang jalan dan tidak jalan di Windows
| Tugas | Windows |
|---|---|
| Pengembangan web, Vite, tooling framework | Ya |
cap add android, cap sync, build Gradle |
Ya |
| emulator Android | Bisa, dengan Hyper-V atau WHPX |
| Perangkat Android fisik via USB | Ya |
| Remote debugging Chrome DevTools | Ya |
cap add ios, cap sync ios (buat dan salin) |
Ya, dengan peringatan CocoaPods |
| Compile, sign, dan archive iOS | Tidak, butuh macOS. Gunakan Capgo Build |
| Simulator iOS | Tidak |
| Safari Web Inspector untuk iOS WebView | Tidak |
1) Install Node atau Bun
Gunakan winget dari PowerShell:
winget install OpenJS.NodeJS.LTS
# Or Bun
winget install Oven-sh.Bun
Buka terminal baru dan pastikan:
node --version
bun --version
Perbaiki PowerShell execution policy
bunx cap, npx cap dan sebagian besar shim CLI adalah .ps1 script. Windows baru memblokirnya dengan running scripts is disabled on this system. Izinkan script lokal sekali:
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
2) Instal JDK 21
Capacitor 7 dan 8 butuh JDK 21. Android Studio punya JBR sendiri, tapi JDK sistem mencegah error saat menjalankan Gradle dari terminal.
winget install Microsoft.OpenJDK.21
Atur JAVA_HOME untuk user Anda. Dari PowerShell:
[Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Microsoft\jdk-21.0.8.9-hotspot", "User")
Sesuaikan folder ke versi yang Anda install. Restart terminal setelahnya.
3) Install Android Studio dan SDK
winget install Google.AndroidStudio
Buka Android Studio dan biarkan setup wizard menginstal SDK untuk C:\Users\<you>\AppData\Local\Android\Sdk. Lalu atur environment variable yang dicari Gradle dan Capacitor:
$sdk = "$env:LOCALAPPDATA\Android\Sdk"
[Environment]::SetEnvironmentVariable("ANDROID_HOME", $sdk, "User")
$path = [Environment]::GetEnvironmentVariable("Path", "User")
[Environment]::SetEnvironmentVariable("Path", "$path;$sdk\platform-tools;$sdk\emulator", "User")
Buka SDK Manager di Android Studio dan instal platform yang sesuai dengan versi Capacitor: API 36 untuk Capacitor 8, API 35 untuk Capacitor 7.
4) Percepat emulator
Emulator membutuhkan virtualisasi hardware. Pada Windows 11, emulator menggunakan Windows Hypervisor Platform. Aktifkan fitur ini:
Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform
Reboot. Jika Device Manager di Android Studio masih memperingatkan soal akselerasi, pastikan virtualisasi sudah aktif di BIOS atau UEFI dan Core Isolation (Memory Integrity) tidak memblokirnya di CPU lama.
Buat device di Device Manager, atau dari terminal:
sdkmanager "system-images;android-36;google_apis;x86_64"
avdmanager create avd -n pixel8 -k "system-images;android-36;google_apis;x86_64" -d pixel_8
emulator -avd pixel8
5) USB debugging di Windows
Aktifkan Developer options dan USB debugging di ponsel. Kebanyakan ponsel tidak butuh driver lagi, tapi jika adb devices tetap kosong, instal USB driver Google lewat SDK Manager (tab SDK Tools) atau driver vendor untuk perangkat Samsung.
adb devices
Terima prompt fingerprint di ponsel saat pertama kali.
6) Perbaikan proyek khusus Windows
Tiga pengaturan ini hemat waktu di Windows:
Path yang panjang. Gradle dan node_modules bisa melebihi batas 260 karakter. Aktifkan long paths dengan:
git config --global core.longpaths true
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
Perintah kedua butuh PowerShell dengan akses administrator.
Pengecualian Defender. Pemindaian real-time pada node_modules, cache Gradle dan SDK Android memperlambat proses build secara signifikan. Kecualikan folder tersebut di Windows Security, atau melalui PowerShell dengan hak akses administrator:
Add-MpPreference -ExclusionPath "$env:USERPROFILE\.gradle"
Add-MpPreference -ExclusionPath "$env:LOCALAPPDATA\Android\Sdk"
Add-MpPreference -ExclusionPath "C:\dev"
Simpan proyek di path pendek seperti C:\dev\my-app, jangan di folder Documents yang tersinkron OneDrive.
Akhiran baris. Gradle gradlew shell script harus menggunakan akhiran LF agar Linux CI tidak error. Tambahkan .gitattributes:
*.sh text eol=lf
gradlew text eol=lf
7) Buat proyek Capacitor
bun create vite@latest my-app
cd my-app
bun install
bun add @capacitor/core @capacitor/android @capacitor/ios
bun add -d @capacitor/cli
bunx cap init
bun run build
bunx cap add android
bunx cap add ios
cap add ios di Windows akan memunculkan peringatan bahwa CocoaPods tidak tersedia. Hal ini normal; ios/ folder tetap dibuat dan di-commit, lalu cloud build akan dijalankan pod install kemudian.
Jalankan di emulator atau perangkat USB:
bunx cap run android
Debug WebView di Chrome pada chrome://inspect.
8) Android release build
keytool -genkeypair -v -keystore release.jks -keyalg RSA -keysize 2048 -validity 10000 -alias release
cd android
.\gradlew.bat bundleRelease
File AAB ada di android\app\build\outputs\bundle\release\. Untuk tim, lebih baik simpan keystore sekali di Capgo dan lakukan build di cloud; lihat Capgo Build untuk Android.
9) iOS dari Windows dengan Capgo Build
Xcode hanya tersedia di macOS, jadi kompilasi iOS dilakukan di infrastruktur Mac Capgo. Dari terminal Windows Anda:
bun run build
bunx cap sync ios
bunx @capgo/cli@latest login
bunx @capgo/cli@latest build init --platform ios
bunx @capgo/cli@latest build request com.example.app --platform ios --build-mode release
build init mengumpulkan material signing Anda. Di Windows, key API App Store Connect dibuat secara manual di portal Apple, mengikuti Panduan build iOS. Sertifikat distribusi tidak memerlukan Keychain Access: buat CSR dan .p12 dengan OpenSSL (winget install ShiningLight.OpenSSL.Light) atau berbasis browser iOS certificate generator kamiberbasis browser. Build aplikasi iOS dari Windows dengan Capacitor dan Capgo Build.
Setelah build selesai, Capgo dapat mendorongnya ke TestFlight sehingga Anda bisa menginstalnya di iPhone asli beberapa menit kemudian.
10) Deploy perubahan web tanpa rebuild
Saat kedua store sudah live, gunakan Capgo Live Updates untuk perubahan JavaScript, HTML, dan CSS:
bunx @capgo/cli@latest init
bun run build
bunx @capgo/cli@latest bundle upload --channel production
Native Build hanya diperlukan untuk plugin, permission, dan upgrade Capacitor.
Masalah umum di Windows
running scripts is disabled on this system: execution policy. Lihat langkah 1.SDK location not found:ANDROID_HOMEbelum diatur untuk terminal yang menjalankan Gradle. Restart terminal setelah mengaturnya, atau buatandroid\local.propertiesdengansdk.dir=C\:\\Users\\you\\AppData\\Local\\Android\\Sdk.Filename too longdari Git atau Gradle: aktifkan long paths, langkah 6.- Emulator stuck saat boot: hypervisor belum aktif atau BIOS virtualization mati.
gradlew: bad interpreterdi CI:gradlewdikomit dengan akhiran CRLF. Perbaiki dengan.gitattributesdi atas dan lakukan renormalize.EPERMatau file yang terkunci saatbun install: Defender atau Gradle daemon yang sedang berjalan menahan file. Hentikan daemon dengan.\gradlew.bat --stopdan tambahkan pengecualiannya.
Ringkasan
Windows mencakup Android dan layer web secara end-to-end. Untuk iOS, generate project secara lokal, sync, lalu serahkan folder ios/ ke Capgo Build. Tambahkan Live Updates di atasnya dan tim Windows Anda bisa rilis ke kedua store tanpa butuh satu pun Mac di kantor. Jika Anda lebih suka Linux shell di Windows, baca panduan pendamping tentang menggunakan WSL2 untuk pengembangan Capacitor.