Yüklü bir uygulamanın APK'sını bulma ve çıkarma
Yüklü uygulamaların APK'ları genellikle /data/app (kullanıcı uygulamaları) veya /system, /product, /vendor (sistem uygulamaları) dizinlerinde bulunur. Çıkarma işlemi ADB, özel bir APK ekstraktörü veya root erişimi ile doğrudan yapılabilir.
Android APK'ları nerede saklar
- Kullanıcı uygulamaları: /data/app/
- /base.apk - Sistem uygulamaları: /system/app/ ve /system/priv-app/
- Bazı yazılımlardaki ek dizinler: /product/app/, /vendor/app/
- Split-APK ve dinamik modüller: base.apk'nin yanı sıra aynı klasörde split_config.*.apk ve diğer dosyalar bulunabilir.
Root erişimi olmadan /data ve /system dizinlerine erişim genellikle kısıtlıdır. APK'yı yeni indirdiyseniz ve yüklemediyseniz, Download klasöründe (/sdcard/Download) arayın.
Uygulama split-APK veya Play Feature Delivery kullanıyorsa, başka bir cihaza doğru şekilde yüklemek için yalnızca base.apk yeterli olmayabilir.
Root olmadan APK nasıl çıkarılır
-
Ekstraktör uygulaması ile (hızlı ve kolay)
- APK Extractor / ML Manager / App Backup & Restore uygulamasını yükleyin.
- Uygulamayı açın, listeden uygulamayı seçin ve "Extract" / "Save APK" düğmesine basın.
- Dosya genellikle /sdcard/ veya /Android/data/
/ dizininde görünür.
-
ADB ile (bilgisayar ve USB hata ayıklama gerekir)
- "Geliştirici seçenekleri" → "USB hata ayıklama"yı etkinleştirin.
- Bilgisayarda şu komutları çalıştırın:
- Yol alma: adb shell pm path com.example.app
(döndürür: package:/data/app/.../base.apk veya split-apk için birden fazla yol) - Kopyalama: adb pull /data/app/.../base.apk ./com.example.app.apk
- Yol alma: adb shell pm path com.example.app
pm pathkomutu birden fazla dosya döndürürse, listelenen tüm yolları indirin.
Root olmadan avantajları: sistemi bozmaya gerek yok, garanti açısından güvenli ve çoğu kullanıcı için daha kolay.
Uygulama sürümlerini düzenli olarak kaydetmek için ekstraktörde otomatik kaydetme ayarlayın veya güncellemelerden önce ADB üzerinden yedekleme yapın.
Root erişimi varken APK nasıl çıkarılır
-
Root destekli dosya yöneticisi ile (MiXplorer, Root Explorer vb.):
- Uygulamaya root yetkisi verin.
- /data/app/ veya /system/app/ dizinine gidin ve paket adına göre klasörü bulun.
- base.apk dosyasını /sdcard/Backups/ dizinine kopyalayın ve ardından PC'ye kaydedin.
-
ADB ile su kullanarak:
- Cihazı bağlayın ve şu komutları çalıştırın:
- adb shell
- su
- cp /data/app/.../base.apk /sdcard/com.example.app.apk
- exit; exit
- adb pull /sdcard/com.example.app.apk .
- Root, split-apk'nin tüm parçalarına ve sistem sürümlerine doğrudan erişim sağlar.
- Cihazı bağlayın ve şu komutları çalıştırın:
/system veya /data dizinlerinden dosyaları tam olarak anlamadan silmeyin veya taşımayın — bu, cihazda arızalara veya boot loop'a neden olabilir.
Sık yapılan hatalar
- Değiştirilmiş APK'yı orijinalinin üzerine yüklemeye çalışmak — imza nedeniyle eski sürümü kaldırmanız gerekir.
- Karmaşık split-apk uygulaması için yalnızca base.apk kopyalamak — uygulama yüklenmeyebilir.
- Root olmayan normal dosya yöneticisinde /data dizinini görmeyi beklemek — dizin sistem tarafından gizlidir.
- İzinleri göz ardı etmek: bazı uygulamalar kaynakları şifreler veya sunucuda imza kontrolü yapar.
SSS
-
Çıkarılan APK başka bir telefona yüklenebilir mi?
Evet, APK mimarisi uyumluysa ve gerekli tüm split dosyalarına sahipseniz; ancak uygulama imzaya bağlıysa veya sunucu tarafı kontroller kullanıyorsa, çalıştırma sınırlı olabilir. -
Uygulamanın paket adını nasıl öğrenebilirim?
"Ayarlar" → "Uygulamalar" üzerinden (bazı yazılımlarda) veya App Inspector / Package Name Viewer kullanarak. ADB ile:adb shell pm list packages | grep <isim_parçası>. -
Tüm işlemler için root gerekir mi?
Hayır. Çoğu kullanıcı, root olmadan ekstraktörler veya ADB kullanarak APK çıkarabilir. Root tam erişim sağlar ancak riskler taşır. -
pm pathyol döndürmezse ne yapmalıyım?
Cihazın bağlı olduğundan, USB hata ayıklamanın etkin olduğundan ve paketin yüklü olduğundan emin olun. Sistem uygulamaları için komut yine de yol döndürmelidir; döndürmüyorsa, root yetkileriyle çalıştırmayı deneyin.
Gerekirse, telefon modelinizi, root durumunuzu ve örnek paket adını gönderin — senaryonuz için kesin adım adım komut hazırlayayım.