# ADB Subsystem Bağlantı Kılavuzu

## Mevcut Durum
- ✅ ADB kurulu: `D:\__sistem__\ProgramFiles\AndroidSdk\platform-tools\adb.exe`
- ❌ Hiç cihaz bağlı değil
- ⚠️ WSL ortamından Windows ADB'ye erişim problemi

## Hızlı Başlangıç

### Windows PowerShell/CMD'den:

```powershell
# Proje dizinine git
cd "d:\__sistem__\Masaustu\FikoYT.Yeni.Cag\flutter\fikoyt_akcali_v1"

# Otomatik script çalıştır
.\connect_adb.bat
```

### Manuel Bağlantı:

#### 1. Fiziksel Android Cihaz (USB)

```powershell
# ADB server başlat
D:\__sistem__\ProgramFiles\AndroidSdk\platform-tools\adb.exe start-server

# Cihazları listele
D:\__sistem__\ProgramFiles\AndroidSdk\platform-tools\adb.exe devices

# Flutter'dan görüntüle
flutter devices
flutter run -d [device-id]
```

**Cihazda yapılması gerekenler:**
1. Ayarlar → Geliştirici Seçenekleri → USB Hata Ayıklama (Aç)
2. USB kablosu ile bilgisayara bağla
3. "USB Hata Ayıklamaya İzin Ver?" → İZIN VER

#### 2. WSL Android Subsystem (Wireless ADB)

```powershell
# ADB server başlat
adb start-server

# WSL subsystem'e bağlan (varsayılan port)
adb connect 127.0.0.1:58526

# Veya farklı portlar dene:
adb connect localhost:5555
adb connect 127.0.0.1:5037

# Bağlantıyı kontrol et
adb devices -l
```

#### 3. Android Emulator (Android Studio)

```powershell
# Emulator'ü başlat
emulator -avd Pixel_5_API_33

# Veya Android Studio'dan başlat:
# Tools → Device Manager → Play

# Flutter'dan görüntüle
flutter devices
```

## Yaygın Sorunlar

### "unauthorized" hatası
```powershell
# Cihazda yetkilendirme diyaloğunu kabul edin
# Sonra:
adb kill-server
adb start-server
adb devices
```

### "device offline" hatası
```powershell
adb disconnect
adb kill-server
adb start-server
# USB kablosunu çıkar/tak
```

### Cihaz görünmüyor
```powershell
# 1. USB Debugging açık mı kontrol et
# 2. USB sürücüleri yükle:
# - Windows Update
# - Cihaz üreticisinin sitesinden

# 3. ADB sürücülerini güncelle:
# Android Studio → SDK Manager → SDK Tools → Google USB Driver
```

## Flutter ile Çalıştırma

```powershell
# Bağlı cihazları göster
flutter devices

# Specific cihazda çalıştır
flutter run -d windows        # Windows desktop
flutter run -d emulator-5554  # Emulator
flutter run -d RF8N50F4Y7W    # Fiziksel cihaz

# Debug mode
flutter run --debug

# Release mode
flutter run --release
```

## ADB Komutları (Faydalı)

```powershell
# Cihaz bilgisi
adb shell getprop ro.product.model
adb shell getprop ro.build.version.release

# Ekran görüntüsü
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png

# Logları izle
adb logcat

# Dosya gönder/al
adb push local.txt /sdcard/
adb pull /sdcard/remote.txt

# Uygulama yükle
adb install app.apk

# Shell erişimi
adb shell

# Port forwarding
adb forward tcp:8080 tcp:8080

# Wireless ADB etkinleştir (cihazda)
adb tcpip 5555
adb connect [device-ip]:5555
```

## WSL'den Windows ADB Kullanma

Eğer WSL kullanıyorsanız:

```bash
# WSL'de alias oluştur
echo 'alias adb="/mnt/d/__sistem__/ProgramFiles/AndroidSdk/platform-tools/adb.exe"' >> ~/.bashrc
source ~/.bashrc

# Kullan
adb devices
```

## Troubleshooting Checklist

- [ ] USB Debugging açık mı?
- [ ] Bilgisayar yetkilendirilmiş mi?
- [ ] USB kablosu data transfer destekliyor mu? (sadece şarj değil)
- [ ] ADB server çalışıyor mu? (`adb start-server`)
- [ ] Firewall ADB'yi engelliyor mu?
- [ ] Doğru port kullanılıyor mu? (5555, 5037, 58526)
- [ ] Driver'lar yüklü mü?

## İletişim Testi

```powershell
# 1. ADB çalışıyor mu?
adb version

# 2. Server aktif mi?
adb devices

# 3. Cihaz bağlı mı?
adb shell echo "Connected!"

# Hepsi çalışırsa:
flutter doctor -v
flutter devices
```

## Sonuç

✅ **connect_adb.bat** dosyası oluşturuldu - Çalıştırın!
✅ Manuel komutlar yukarıda
✅ Flutter ile test: `flutter devices`
