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):

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)