Wayland ve Linux için Android Emulator Hatası ve Flutter Kurulumu
Android & Flutter Development Setup (Linux/Wayland)
Bu not, CachyOS (Arch tabanlı) üzerinde NVIDIA GPU ve Wayland (Hyprland/Niri) ortamında Android/Flutter geliştirme ortamı kurulumunu ve karşılaşılan "Emulator Process Terminated" hatasının çözümünü içerir.
1. Kurulum (Installation)
Paketler paru (AUR helper) kullanılarak yüklenmiştir:
paru -S android-studio android-sdk android-sdk-platform-tools android-sdk-build-tools flutter
2. İzinlerin ve Sahipliğin Yapılandırılması
/opt dizini altındaki SDK ve Flutter dosyalarına yazma erişimi sağlamak için sahiplik kullanıcıya devredilmiştir:
sudo chown -R $USER:$USER /opt/android-sdk
sudo chown -R $USER:$USER /opt/flutter
3. Kabuk (Shell) Yapılandırması
Terminal araçlarının (flutter, adb, emulator) her yerden erişilebilir olması için aşağıdaki değişkenler shell konfigürasyonuna eklenmelidir.
Bash & Zsh (.bashrc / .zshrc)
# --- Android SDK Ayarları ---
export ANDROID_HOME="/opt/android-sdk"
export ANDROID_AVD_HOME="$HOME/.android/avd"
# --- Java Ayarı ---
export JAVA_HOME='/usr/lib/jvm/java-25-openjdk'
# --- Flutter ve Dart ---
export FLUTTER_HOME="/opt/flutter"
export PUB_CACHE="$HOME/.pub-cache"
# --- PATH Tanımlamaları ---
export PATH="$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/emulator:$FLUTTER_HOME/bin:$PUB_CACHE/bin:$ANDROID_HOME/tools/bin"
Fish Shell (config.fish)
# --- Android & Flutter Ayarları ---
set -gx ANDROID_HOME /opt/android-sdk
set -gx ANDROID_AVD_HOME $HOME/.android/avd
set -gx JAVA_HOME /usr/lib/jvm/java-25-openjdk
set -gx FLUTTER_HOME /opt/flutter
set -gx PUB_CACHE $HOME/.pub-cache
# --- PATH Güncelleme ---
fish_add_path $ANDROID_HOME/platform-tools $ANDROID_HOME/cmdline-tools/latest/bin $ANDROID_HOME/emulator $FLUTTER_HOME/bin $PUB_CACHE/bin $ANDROID_HOME/tools/bin
4. Android Studio SDK Yapılandırması
Android Studio ilk açılışında Settings > Languages & Frameworks > Android SDK yolundan /opt/android-sdk konumu gösterilmelidir.
Yüklenen Gerekli Bileşenler (SDK Tools):
- Android SDK Build-Tools
- Android SDK Command-line Tools (latest)
- Android Emulator
- Android SDK Platform-Tools
5. Kritik Hata: Emulator Process Terminated (Wayland/Qt)
Sorun: Wayland ortamında emülatör başlatıldığında, Android SDK ile gelen Qt kütüphanelerinin Wayland plugin eksikliği nedeniyle Fatal: This application failed to start because no Qt platform plugin could be initialized hatası vermesi ve kapanması.
Rasyonel Çözüm: Sistem genelindeki diğer Qt uygulamalarının (VLC, OBS vb.) Wayland performansını etkilememek için, sadece Android Studio'yu X11 (XWayland) uyumluluk modunda çalışmaya zorlamak.
İşlem: Android Studio .desktop dosyasını (/usr/share/applications/android-studio.desktop veya ~/.local/share/applications/) düzenle ve Exec satırına QT_QPA_PLATFORM=xcb değişkenini ekle:
[Desktop Entry]
...
# Sadece bu uygulamayı X11 moduna zorlar, alt süreçleri (emülatör) de etkiler.
Exec=env QT_QPA_PLATFORM=xcb android-studio %f
...
6. Donanım İvmelendirme (NVIDIA)
RTX 4060 GPU performansı için KVM grubunda olduğundan emin ol:
sudo usermod -aG kvm,libvirt $USER
Dikkat Edilmesi Gerekenler (Troubleshooting)
- Android Licenses: Eğer Flutter tarafında lisans hatası alırsan:
flutter doctor --android-licenses - Java Version: OpenJDK 25 çok yeni bir sürüm. Eğer Android Studio veya Gradle uyumluluk sorunu çıkarırsa (bazı projeler JDK 17 veya 21 bekleyebilir),
JAVA_HOMEdeğişkenini geçici olarak düşürmek gerekebilir.