maskem
Üye
Android manager özellik öneri
arkadaşlar böyle bir uygulama yapıyorum neler ekleyebilirim önerileriniz varmı şimdi olursa fastbootan custom rom yükleme özelliği yapmaya çalışıyorum
# Android Manager
Dr. Fone tarzı **modüler WPF** Android yönetim uygulaması. USB veya Wi‑Fi ADB ile cihaz bağlar; dosya, uygulama, galeri, SMS, yedekleme ve ekran yansıtmayı tek konsoldan yönetir.
**Stack:** .NET 10 · WPF · Prism 9 (DryIoc) · CommunityToolkit.Mvvm · Material Design · AdvancedSharpAdbClient · Serilog · WebView2 · ImageSharp · SQLite
**UI dili:** Türkçe
---
## Özellikler
### Bağlantı
| Yöntem | Açıklama |
|--------|----------|
| **USB** | USB hata ayıklama; ADB ile otomatik algılama |
| **Wi‑Fi ADB (manuel)** | IP + bağlantı portu; Android 11+ için isteğe bağlı eşleştirme portu/kodu |
| **Wi‑Fi ADB (otomatik)** | mDNS (`_adb-tls-connect` / `_adb-tls-pairing`) keşfi |
| **Companion APK** | Aynı ağda UDP **37020** + TCP eşleştirme **37021**; 6 haneli kod / QR |
| **QR** | Kamera, dosya veya panodan `AndroidManagerConnect` okuma |
| **USB → Wi‑Fi** | `adb tcpip` sonrası LAN üzerinden bağlanma (varsayılan port **5555**) |
| **Kayıtlı bağlantılar** | Son uç noktaları saklama, yeniden bağlanma, silme |
Çoklu cihaz seçimi, Wi‑Fi oturumları için yeniden bağlanma (watchdog), sistem tepsisi ve toast bildirimleri.
### Cihaz bilgisi
- Üretici, model, Android sürümü, API seviyesi, seri numarası
- Pil %, sıcaklık, şarj durumu; depolama; RAM; CPU kullanımı
- Tanı: pil sağlığı / durumu / teknolojisi / çevrim sayısı; sensör özeti
- Yenile · tanı raporunu kaydet
### Dosya yöneticisi
- Çift panel: **Android** ↔ **Bilgisayar**
- Breadcrumb gezinme; gizli dosya tercihi (Ayarlar)
- **İndir / Gönder** — dosya ve **klasör** (özyinelemeli)
- Sürükle-bırak (her iki yön); klasör sürükleme destekli
- Yeni klasör, sil, yeniden adlandır
- Transfer ilerlemesi (%, hız)
- Güvenilir aktarım: `adb pull` / `adb push` + yedek yollar (tmp stage, exec-out, sync)
- APK/XAPK/APKS/APKM dosyasını Android paneline bırakınca kurulum
### Uygulamalar
- Liste, arama; sistem uygulamalarını göster/gizle
- İkonlar: **aapt** veya APK içi `ic_launcher` yedeği
- Kurulum: `.apk` / `.xapk` / `.apks` / `.apkm`
- Kaldır · **APK yedekle** · zorla durdur · veri temizle
- **DeBloater:** kök olmadan `pm uninstall -k --user 0`, geri yükleme, kategori/gerekçe
### Ekran yansıtma
- Tercihen **scrcpy**; yoksa screencap yedeği
- FPS, bitrate, max boyut; uyanık tut; dokunuşları göster; salt okunur
- Geri · Ana ekran · Son uygulamalar · ses · güç
- Ekran görüntüsü · ekran kaydı
### Galeri
- MediaStore üzerinden fotoğraf / video listesi
- Sanallaştırılmış küçük resimler; önizleme (arka plan indirme)
- PC’ye kaydet
- WebP ve büyük medya için optimize edilmiş codec yolu
### SMS
- Konuşma listesi, arama
- Mesaj yaz / gönder
> Not: sessiz gönderim birçok cihazda kısıtlıdır; telefonda onay gerekebilir.
### WhatsApp Web
- Embedded **WebView2** → `web.whatsapp.com` (ADB gerekmez)
- Yenile · oturumu temizle · önbelleği aç
### Yedekleme
- Yedeklenebilir: SMS, rehber, DCIM fotoğraflar, videolar, APK’lar
- İsteğe bağlı ZIP; not; hedef klasör seçimi
- Seçici geri yükleme (SMS için root/companion gerekebilir); uygulama üzerine yazma seçeneği
- **Geçmiş:** SQLite; klasörü aç / sil
### Ayarlar
- `adb` / `scrcpy` / `aapt` yolları; ADB bağlantı testi
- Tema, dil, yazı boyutu; gizli dosyaları göster
- Varsayılan indirme / yedek klasörleri; aktarımda üzerine yaz
- Yansıtma varsayılanları (FPS, bitrate, uyanık tut)
- Bildirimler: cihaz / transfer / yedek
### Companion (Android APK)
- Jetpack Compose · **AM Companion** (minSdk 23, targetSdk 34)
- LAN IP, cihaz bilgisi, 6 haneli kod, QR
- UDP yayın (~2 sn); TCP eşleştirme onayı
- Android 11+: kablosuz hata ayıklama yardımcısı, port göster/kopyala, sistem ayarlarına git
> Companion eşleştirmesi tek başına ADB değildir; kablosuz hata ayıklama portları gerekir.
---
## Gereksinimler
**Masaüstü**
- Windows 10 / 11
- [.NET 10 SDK](https://dotnet.microsoft.com/)
- `adb` — `tools/adb/`, `ADB_PATH` veya PATH
**Opsiyonel araçlar**
- `tools/scrcpy/` — ekran yansıtma (yoksa screencap)
- `tools/aapt/` — uygulama ikonları (yoksa APK içi arama)
**Companion APK**
- Android SDK + JDK 17+ (Android Studio JBR uygun)
- Gradle 8.2.1 (ilk derlemede indirilir)
---
## ADB kurulumu
1. [Android platform-tools](https://developer.android.com/tools/releases/platform-tools) indirin.
2. `adb.exe`, `AdbWinApi.dll`, `AdbWinUsbApi.dll` dosyalarını `tools/adb/` altına kopyalayın.
3. Alternatif: `ADB_PATH` ortam değişkenini `adb.exe` yoluna ayarlayın veya PATH’te `adb` olsun.
## scrcpy (ekran yansıtma)
1. [scrcpy](https://github.com/Genymobile/scrcpy) indirin veya `winget install Genymobile.scrcpy`.
2. `scrcpy.exe` ve bağımlılıklarını `tools/scrcpy/` altına kopyalayın.
3. Yoksa Mirror modülü screencap yedeğini kullanır (daha yavaş).
## AAPT (ikon çıkarma)
Opsiyonel: `tools/aapt/aapt.exe` (Android SDK build-tools). Yoksa APK içinden `ic_launcher` aranır.
---
## Çalıştırma
```bash
dotnet restore AndroidManager.slnx
dotnet build AndroidManager.slnx
dotnet run --project src/AndroidManager.Shell
```
## Test
```bash
dotnet test AndroidManager.slnx
```
## Tek tık paketleme
```powershell
.\build-all.bat # Companion APK + masaüstü ZIP
.\build-desktop.bat # → dist\AndroidManager-*-win-x64-*.zip
.\build-apk.bat # → dist\apk\
.\scripts\Build-Desktop.ps1 [-SelfContained]
.\scripts\Build-Apk.ps1 [-Configuration Release] [-Install]
.\installer\build.ps1 -Configuration Release -Version 1.0.0
```
Çıktı örneği: `dist/AndroidManager-1.0.0-win-x64.zip` (WiX MSI iskeleti opsiyonel).
### Companion APK (manuel)
```bash
cd AndroidCompanion
.\gradlew.bat :app:assembleDebug
```
APK: `app/build/outputs/apk/debug/app-debug.apk`
Ayrıntılar: [AndroidCompanion/README.md](AndroidCompanion/README.md)
---
## Proje yapısı
```
senk/
├── AndroidManager.slnx
├── src/
│ ├── AndroidManager.Shell # WPF host, Wi‑Fi UI, tray, toast
│ ├── AndroidManager.Core # Contract’lar, modeller, navigasyon
│ ├── AndroidManager.Device # ADB, keşif, sync, cihaz bilgisi
│ ├── AndroidManager.Files # Dual-panel dosya yöneticisi
│ ├── AndroidManager.Apps # APK yönetimi + DeBloater
│ ├── AndroidManager.Mirror # scrcpy / screencap
│ ├── AndroidManager.Gallery # MediaStore galeri
│ ├── AndroidManager.Messages # SMS + WhatsApp Web
│ ├── AndroidManager.Backup # Yedek / geri yükle + SQLite
│ └── AndroidManager.Settings # JSON ayarlar
├── tests/
├── AndroidCompanion/ # Kotlin Compose companion APK
├── tools/ # adb, scrcpy, aapt
├── scripts/ # Build-*.ps1
├── installer/ # Zip + WiX scaffold
└── dist/ # Yayın çıktıları
```
| Proje | Rol |
|-------|-----|
| Shell | Prism host, navigasyon, Wi‑Fi diyalogları, tray/toast |
| Core | Ortak contract ve modeller |
| Device | ADB istemcisi, cihaz keşfi, dosya sync |
| Files | Dual-panel dosya/klasör aktarımı |
| Apps | Kurulum, kaldırma, ikon, DeBloater |
| Mirror | Ekran yansıtma ve giriş |
| Gallery | Fotoğraf / video galerisi |
| Messages | SMS + WhatsApp Web |
| Backup | Yedekleme, geri yükleme, geçmiş |
| Settings | Tema, yollar, bildirim tercihleri |
---
## Modül menüsü (UI)
1. Cihaz Bilgisi
2. Dosya Yöneticisi
3. Uygulamalar
4. Ekran Yansıtma
5. Galeri
6. SMS
7. WhatsApp Web
8. Yedekleme
9. Ayarlar
Wi‑Fi bağlantısı: kenar çubuğunda **WiFi Bağlan** · **Cihazları Yenile**.
# Android Manager
Dr. Fone tarzı **modüler WPF** Android yönetim uygulaması. USB veya Wi‑Fi ADB ile cihaz bağlar; dosya, uygulama, galeri, SMS, yedekleme ve ekran yansıtmayı tek konsoldan yönetir.
**Stack:** .NET 10 · WPF · Prism 9 (DryIoc) · CommunityToolkit.Mvvm · Material Design · AdvancedSharpAdbClient · Serilog · WebView2 · ImageSharp · SQLite
**UI dili:** Türkçe
---
## Özellikler
### Bağlantı
| Yöntem | Açıklama |
|--------|----------|
| **USB** | USB hata ayıklama; ADB ile otomatik algılama |
| **Wi‑Fi ADB (manuel)** | IP + bağlantı portu; Android 11+ için isteğe bağlı eşleştirme portu/kodu |
| **Wi‑Fi ADB (otomatik)** | mDNS (`_adb-tls-connect` / `_adb-tls-pairing`) keşfi |
| **Companion APK** | Aynı ağda UDP **37020** + TCP eşleştirme **37021**; 6 haneli kod / QR |
| **QR** | Kamera, dosya veya panodan `AndroidManagerConnect` okuma |
| **USB → Wi‑Fi** | `adb tcpip` sonrası LAN üzerinden bağlanma (varsayılan port **5555**) |
| **Kayıtlı bağlantılar** | Son uç noktaları saklama, yeniden bağlanma, silme |
Çoklu cihaz seçimi, Wi‑Fi oturumları için yeniden bağlanma (watchdog), sistem tepsisi ve toast bildirimleri.
### Cihaz bilgisi
- Üretici, model, Android sürümü, API seviyesi, seri numarası
- Pil %, sıcaklık, şarj durumu; depolama; RAM; CPU kullanımı
- Tanı: pil sağlığı / durumu / teknolojisi / çevrim sayısı; sensör özeti
- Yenile · tanı raporunu kaydet
### Dosya yöneticisi
- Çift panel: **Android** ↔ **Bilgisayar**
- Breadcrumb gezinme; gizli dosya tercihi (Ayarlar)
- **İndir / Gönder** — dosya ve **klasör** (özyinelemeli)
- Sürükle-bırak (her iki yön); klasör sürükleme destekli
- Yeni klasör, sil, yeniden adlandır
- Transfer ilerlemesi (%, hız)
- Güvenilir aktarım: `adb pull` / `adb push` + yedek yollar (tmp stage, exec-out, sync)
- APK/XAPK/APKS/APKM dosyasını Android paneline bırakınca kurulum
### Uygulamalar
- Liste, arama; sistem uygulamalarını göster/gizle
- İkonlar: **aapt** veya APK içi `ic_launcher` yedeği
- Kurulum: `.apk` / `.xapk` / `.apks` / `.apkm`
- Kaldır · **APK yedekle** · zorla durdur · veri temizle
- **DeBloater:** kök olmadan `pm uninstall -k --user 0`, geri yükleme, kategori/gerekçe
### Ekran yansıtma
- Tercihen **scrcpy**; yoksa screencap yedeği
- FPS, bitrate, max boyut; uyanık tut; dokunuşları göster; salt okunur
- Geri · Ana ekran · Son uygulamalar · ses · güç
- Ekran görüntüsü · ekran kaydı
### Galeri
- MediaStore üzerinden fotoğraf / video listesi
- Sanallaştırılmış küçük resimler; önizleme (arka plan indirme)
- PC’ye kaydet
- WebP ve büyük medya için optimize edilmiş codec yolu
### SMS
- Konuşma listesi, arama
- Mesaj yaz / gönder
> Not: sessiz gönderim birçok cihazda kısıtlıdır; telefonda onay gerekebilir.
### WhatsApp Web
- Embedded **WebView2** → `web.whatsapp.com` (ADB gerekmez)
- Yenile · oturumu temizle · önbelleği aç
### Yedekleme
- Yedeklenebilir: SMS, rehber, DCIM fotoğraflar, videolar, APK’lar
- İsteğe bağlı ZIP; not; hedef klasör seçimi
- Seçici geri yükleme (SMS için root/companion gerekebilir); uygulama üzerine yazma seçeneği
- **Geçmiş:** SQLite; klasörü aç / sil
### Ayarlar
- `adb` / `scrcpy` / `aapt` yolları; ADB bağlantı testi
- Tema, dil, yazı boyutu; gizli dosyaları göster
- Varsayılan indirme / yedek klasörleri; aktarımda üzerine yaz
- Yansıtma varsayılanları (FPS, bitrate, uyanık tut)
- Bildirimler: cihaz / transfer / yedek
### Companion (Android APK)
- Jetpack Compose · **AM Companion** (minSdk 23, targetSdk 34)
- LAN IP, cihaz bilgisi, 6 haneli kod, QR
- UDP yayın (~2 sn); TCP eşleştirme onayı
- Android 11+: kablosuz hata ayıklama yardımcısı, port göster/kopyala, sistem ayarlarına git
> Companion eşleştirmesi tek başına ADB değildir; kablosuz hata ayıklama portları gerekir.
---
## Gereksinimler
**Masaüstü**
- Windows 10 / 11
- [.NET 10 SDK](https://dotnet.microsoft.com/)
- `adb` — `tools/adb/`, `ADB_PATH` veya PATH
**Opsiyonel araçlar**
- `tools/scrcpy/` — ekran yansıtma (yoksa screencap)
- `tools/aapt/` — uygulama ikonları (yoksa APK içi arama)
**Companion APK**
- Android SDK + JDK 17+ (Android Studio JBR uygun)
- Gradle 8.2.1 (ilk derlemede indirilir)
---
## ADB kurulumu
1. [Android platform-tools](https://developer.android.com/tools/releases/platform-tools) indirin.
2. `adb.exe`, `AdbWinApi.dll`, `AdbWinUsbApi.dll` dosyalarını `tools/adb/` altına kopyalayın.
3. Alternatif: `ADB_PATH` ortam değişkenini `adb.exe` yoluna ayarlayın veya PATH’te `adb` olsun.
## scrcpy (ekran yansıtma)
1. [scrcpy](https://github.com/Genymobile/scrcpy) indirin veya `winget install Genymobile.scrcpy`.
2. `scrcpy.exe` ve bağımlılıklarını `tools/scrcpy/` altına kopyalayın.
3. Yoksa Mirror modülü screencap yedeğini kullanır (daha yavaş).
## AAPT (ikon çıkarma)
Opsiyonel: `tools/aapt/aapt.exe` (Android SDK build-tools). Yoksa APK içinden `ic_launcher` aranır.
---
## Çalıştırma
```bash
dotnet restore AndroidManager.slnx
dotnet build AndroidManager.slnx
dotnet run --project src/AndroidManager.Shell
```
## Test
```bash
dotnet test AndroidManager.slnx
```
## Tek tık paketleme
```powershell
.\build-all.bat # Companion APK + masaüstü ZIP
.\build-desktop.bat # → dist\AndroidManager-*-win-x64-*.zip
.\build-apk.bat # → dist\apk\
.\scripts\Build-Desktop.ps1 [-SelfContained]
.\scripts\Build-Apk.ps1 [-Configuration Release] [-Install]
.\installer\build.ps1 -Configuration Release -Version 1.0.0
```
Çıktı örneği: `dist/AndroidManager-1.0.0-win-x64.zip` (WiX MSI iskeleti opsiyonel).
### Companion APK (manuel)
```bash
cd AndroidCompanion
.\gradlew.bat :app:assembleDebug
```
APK: `app/build/outputs/apk/debug/app-debug.apk`
Ayrıntılar: [AndroidCompanion/README.md](AndroidCompanion/README.md)
---
## Proje yapısı
```
senk/
├── AndroidManager.slnx
├── src/
│ ├── AndroidManager.Shell # WPF host, Wi‑Fi UI, tray, toast
│ ├── AndroidManager.Core # Contract’lar, modeller, navigasyon
│ ├── AndroidManager.Device # ADB, keşif, sync, cihaz bilgisi
│ ├── AndroidManager.Files # Dual-panel dosya yöneticisi
│ ├── AndroidManager.Apps # APK yönetimi + DeBloater
│ ├── AndroidManager.Mirror # scrcpy / screencap
│ ├── AndroidManager.Gallery # MediaStore galeri
│ ├── AndroidManager.Messages # SMS + WhatsApp Web
│ ├── AndroidManager.Backup # Yedek / geri yükle + SQLite
│ └── AndroidManager.Settings # JSON ayarlar
├── tests/
├── AndroidCompanion/ # Kotlin Compose companion APK
├── tools/ # adb, scrcpy, aapt
├── scripts/ # Build-*.ps1
├── installer/ # Zip + WiX scaffold
└── dist/ # Yayın çıktıları
```
| Proje | Rol |
|-------|-----|
| Shell | Prism host, navigasyon, Wi‑Fi diyalogları, tray/toast |
| Core | Ortak contract ve modeller |
| Device | ADB istemcisi, cihaz keşfi, dosya sync |
| Files | Dual-panel dosya/klasör aktarımı |
| Apps | Kurulum, kaldırma, ikon, DeBloater |
| Mirror | Ekran yansıtma ve giriş |
| Gallery | Fotoğraf / video galerisi |
| Messages | SMS + WhatsApp Web |
| Backup | Yedekleme, geri yükleme, geçmiş |
| Settings | Tema, yollar, bildirim tercihleri |
---
## Modül menüsü (UI)
1. Cihaz Bilgisi
2. Dosya Yöneticisi
3. Uygulamalar
4. Ekran Yansıtma
5. Galeri
6. SMS
7. WhatsApp Web
8. Yedekleme
9. Ayarlar
Wi‑Fi bağlantısı: kenar çubuğunda **WiFi Bağlan** · **Cihazları Yenile**.
