İstanbul
weather

APK Nedir?

03.08.2025

APK

("Android Package Kit" ya da "Android Package"), Android işletim sistemi üzerinde uygulamaların dağıtımı ve kurulumu için kullanılan dosya formatıdır.

Dosya uzantısı olarak .apk kullanılır. Windows'ta .exe, macOS'ta .dmg / .pkg ne ise Android'de de o APK'dır.

2. İç Yapısı ve Formatı

Bir APK dosyası temelde ZIP sıkıştırma kullanılarak oluşturulmuş bir arşivdir. İçinde şu ana bölümler bulunur:

  1. AndroidManifest.xml

    • Uygulamanın adı, versiyonu, izinleri, giriş (entry) noktaları gibi bütün temel meta-veri bilgileri.

  2. classes.dex

    • Java/Kotlin kodlarının Dalvik/ART sanal makinesinde çalışacak biçime ("DEX" — Dalvik Executable) derlenmiş hâli.

  3. resources.arsc

    • Derlenmiş kaynak (string, renk, boyut …) tabloları.

  4. res/

    • Görsel, XML tabanlı layout'lar, animasyonlar, dil dosyaları vb. ham kaynak dosyaları.

  5. lib/

    • C/C++ ile yazılmış yerel (native) kütüphaneler (.so dosyaları).

  6. META-INF/

    • Uygulamanın imzasına (certificate) dair bilgiler; bütün APK'lar Google Play'e yüklenmeden önce geliştirici anahtarlarıyla imzalanmalıdır.

3. APK Nasıl Oluşturulur?

  1. Android Studio

    • "Build ➔ Generate Signed Bundle / APK" menüsüyle imzalı veya imzasız APK üretilebilir.

  2. Gradle Komutları

    • ./gradlew assembleDebug veya ./gradlew assembleRelease komutlarıyla terminal üzerinden derleme yapılır.

  3. Üçüncü parti araçlar

    • Unity, React Native, Flutter gibi çerçeveler de kendi derleme zincirleriyle APK oluşturur.

Her derleme türünde (debug/release), farklı imza anahtarları ve sıkıştırma seçenekleri kullanılabilir.

4. APK Yükleme ve Çalıştırma

  • Google Play Store: En yaygın dağıtım kanalı. Play Console'a yüklenen APK, kullanıcının telefonuna otomatik olarak güncellenir.

  • Sideloading (Yan yükleme):

    1. Kullanıcı, telefonunda "Bilinmeyen kaynaklara izin ver" ayarını aktif eder.

    2. APK dosyası indirilir ya da USB/ADB ile telefona aktarılır.

    3. Dosya yöneticisinden açılarak "Yükle" denir.

  • ADB ile Yükleme:

    bashKopyalaDüzenleadb install myapp.apk

5. Güvenlik ve İzinler

  • APK'ların içindeki kod ve kaynaklar decompile edilerek incelenebilir. Bu yüzden hassas anahtarlar ya da şifreleme anahtarları APK içine konmamalıdır.

  • İmza Kontrolü: Android cihaz, her kurulumda APK imzasını kontrol eder; aynı uygulamanın yeni versiyonunun da mutlaka aynı anahtarla imzalanması gerekir.

  • İzinler (Permissions): Manifest'te tanımlanan tehlikeli (dangerous) izinler, kullanıcıdan onay gerektirir. Android 6.0+'da runtime permission mekanizmasıyla çalışır.

6. APK Türevleri ve Gelişmeler

  • AAB (Android App Bundle): Google Play'in tercih ettiği yeni format. Play Store, geliştiricinin AAB'sinden cihaz özelliklerine özel APK'lar (split APK) üretir.

  • Split APK / Multi-APK: Uygulamanın farklı dil, DPI veya CPU mimarisi için ayrı paketleri. İndirme boyutunu küçültmek amaçlı.

  • Instant Apps: Kurulum gerektirmeden çalışan, Google Play'den anlık indirmele uygulamalar.

7. Nasıl Analiz Edilir / İncelenir?

  • APKTool: Kaynakları ve manifest'i decompile eder.

  • dex2jar + JD-GUI: classes.dex'i jar'a çevirip Java kaynak koduna bakmayı sağlar.

  • Android Studio Profiler / Device File Explorer: Yüklü APK içeriğini cihaz üzerinde inceleyebilirsin.


APK, Android uygulamalarını paketleyip dağıtmak için kullanılan ZIP tabanlı, imzalanabilir bir konteyner formatıdır. İçinde derlenmiş kod, kaynaklar ve manifest bilgileri yer alır. Google Play ya da yan yükleme yollarıyla cihaza kurulabilir; imza kontrolü ve izin yönetimi sayesinde güvenlik sağlanır.