APK İmzalayan

APK İmzalayan Çevrimiçi - APK Dosyaları Ücretsiz Nasıl İmzalanır?

APK imzalayan kılavuzunu tamamlayın — apksigner, jarsigner veya hata ayıklama anahtar deposunu kullanarak nasıl APK dosyalarını imzala yapılacağını öğrenin. Geliştiriciler ve test uzmanları için ücretsiz adım adım APK imzalama eğitimi. APK'yı Android Studio olmadan imzalayın.

APK Dosyalarının Neden İmzalanması Gerekir?

Her Android uygulamasının kurulabilmesi için dijital olarak imzalanması gerekir. İmza çeşitli amaçlara hizmet eder:

  • Uygulama geliştiricisinin kimliğini doğrular
  • APK'nın kurcalanmamasını sağlar
  • Android'in uygulama güncellemelerini orijinaliyle eşleştirmesine olanak tanır
  • Tüm Android cihazlara kurulum için gereklidir

Masaüstü Aracı Gerekli

APK imzalama, komut satırı araçlarını (JDK / Android SDK) gerektirir. Bu bir web tarayıcısında yapılamaz. Bilgisayarınızda APK'ları imzalamak için aşağıdaki kılavuzu izleyin.

Yöntem 1: apksigner ile imzalayın (Önerilir)

apksigner, Google'ın resmi APK imzalama aracıdır ve Android SDK Oluşturma Araçları'na dahildir.

1. Adım: Anahtar Deposu Oluşturun

keytool -genkey -v -keystore my-release-key.jks \
  -keyalg RSA -keysize 2048 -validity 10000 \
  -alias my-key-alias

2. Adım: APK'yı imzalayın

apksigner sign --ks my-release-key.jks \
  --ks-key-alias my-key-alias \
  --out signed-app.apk unsigned-app.apk

3. Adım: İmzayı Doğrulayın

apksigner verify --verbose signed-app.apk

Yöntem 2: Jarsigner ile imzalayın (Eski)

# Sign
jarsigner -verbose -sigalg SHA256withRSA \
  -digestalg SHA-256 \
  -keystore my-release-key.jks \
  app-unsigned.apk my-key-alias

# Verify
jarsigner -verify -verbose app-signed.apk

Adım 4: Zipalign (Önemli!)

İmzaladıktan sonra APK'yı zipalign ile optimize edin:

zipalign -v 4 signed-app.apk aligned-app.apk

Hata Ayıklama İmzalama (Test İçin)

Test amacıyla varsayılan Android hata ayıklama anahtar deposunu kullanabilirsiniz:

# Location of debug keystore:
# Linux/Mac: ~/.android/debug.keystore
# Windows: C:\Users\{USERNAME}\.android\debug.keystore

# Sign with debug key
apksigner sign --ks ~/.android/debug.keystore \
  --ks-key-alias androiddebugkey \
  --ks-pass pass:android \
  app.apk

İmzalama Araçları Karşılaştırması

Ölçütapk imzalayanjarsigner
V1 İmzası
V2 İmzası
V3 İmzası
Tavsiye edilenMiras

APK İmzalayan — Sıkça Sorulan Sorular

APK imzalama, anahtar depoları ve Android kod imzalamayla ilgili sık sorulan sorular

APK dosyasını imzala için apksigner (önerilen) veya jarsigner'a ihtiyacınız vardır: (1) keytool -genkey kullanarak bir anahtar deposu oluşturun, (2) APK'yı apksigner sign --ks my-key.jks --out signed.apk unsigned.apk ile imzalayın, (3) İmzayı apksigner verify signed.apk ile doğrulayın. Android hata ayıklama anahtar deposunu test amacıyla da kullanabilirsiniz. Bu, Android Studio olmadan APK imzala'ye ulaşmanın standart yoludur.

APK'yı çevrimiçi imzala'yi güvenli bir şekilde yapamasanız da (çünkü APK imzalama, hiçbir zaman herhangi bir sunucuya yüklenmemesi gereken özel anahtar deponuzu gerektirir), yerel makinenizde APK dosyalarını imzalamak için ücretsiz APK imzalayan kılavuzu'mizi kullanabilirsiniz. Adım adım eğitimimiz, Google'ın resmi apksigner ve jarsigner araçlarını kullanarak tüm süreç boyunca size yol gösterir. İmzaladıktan sonra imzayı ücretsiz olarak çevrimiçi doğrulamak için APK İmza Doğrulayıcı ürünümüzü kullanın.

V1 (JAR İmzalama): Orijinal Android imzalama şeması. Her ZIP girişini ayrı ayrı doğrular. Daha yavaş ancak tüm Android sürümleriyle geniş ölçüde uyumludur. V2 (APK İmza Şeması): Android 7.0'da Tanıtıldı. APK'nın tamamını bir bütün olarak doğrulayarak daha hızlı kurulum sağlar. V3 (APK İmza Şeması v3): Android 9.0+, anahtar döndürmeyi destekler. V4: Android 11.0+, akışlı yüklemelere olanak tanır. Tüm şemaları desteklemek için apksigner'ı kullanın; jarsigner yalnızca V1'i destekler.

Android Studio olmadan APK imzala'ye: (1) Java JDK 8 veya üstünü yükleyin, (2) apksigner içeren Android SDK Oluşturma Araçlarını indirin veya bağımsız paketteki aracı indirin, (3) Bir anahtar deposu oluşturun: keytool -genkey -v -keystore my-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias, (4) İmzalayın: apksigner sign --ks my-key.jks --out signed.apk app.apk. Bu yöntem, tam Android Studio kurulumunu gerektirmeden Windows, Mac ve Linux'ta çalışır.

sıkıştırılmış hizalama, APK içindeki sıkıştırılmamış verileri 4 baytlık sınırlara göre hizalayan bir Android SDK aracıdır. Bu optimizasyon, uygulama bir cihazda çalışırken RAM tüketimini azaltır. Önemli: Apksigner kullanıyorsanız imzalamadan ÖNCE zipalign komutunu çalıştırın. Jarsigner (eski) kullanıyorsanız, imzalamadan SONRA zipalign komutunu çalıştırın. Komut: zipalign -v 4 input.apk output.apk. Google Play, APK'ların gönderilmeleri için sıkıştırılmış olmasını gerektirir.

Android 11–15'te Hizalama Sırası (apksigner'dan Önce Zipalign) Neden Önemlidir?

Geliştiricilerin ve modcuların değiştirilmiş veya birleştirilmiş bir APK'yı imzalarken yaptığı en sık hatalardan biri çalışıyorzipalign imzalamak veya Java'nın mirasını kullanmak'ın Android SDK'sı yerine yardımcı programapksigner. APK Signature Scheme v2 ve v3, ZIP arşivinin tüm ikili düzeni üzerinde bir şifreleme karması hesapladığından, bayt uzaklıklarını şu şekilde değiştirir:ıktan sonra v2/v3 imza bloğunu hemen geçersiz kılar. sonrasında jarsigner zipalign

Android 11'den (API düzeyi 30) başlayarak ve Android 14 ve 15'te sıkı bir şekilde uygulanan PackageManager, modern SDK düzeylerini hedefleyen herhangi bir APK için tartışılamaz iki koşul gerektirir:

  • Sıkıştırılmamış 4 Bayt Hizalanmış resources.arsc: Derlenmiş kaynak tablosunun (resources.arsc) sıkıştırılmamış olarak (STORED) saklanması ve 4 baytlık bir sınırda hizalanması gerekir; böylece Android, onu RAM'e kopyalamadan doğrudan bellek eşlemesi (mmap) yapabilir. Her zaman zipalign -p -f -v 4 input.apk aligned.apk önce imzalamayı yürütün.
  • Zorunlu v2+ İmza Bloğu: API 30+'yı hedefleyen bir APK'nın jarsigner (yalnızca v1 META-INF/ imzası yazan) ile imzalanması, Android 11-15'in INSTALL_PARSE_FAILED_NO_CERTIFICATES ile yüklemeyi reddetmesine neden olacaktır. Anahtar deponuz için tam apksigner --v2-signing-enabled=true komutunu oluşturmak için yukarıdaki etkileşimli komut oluşturucuyu kullanın veya imzalı çıktınızı APK İmza Doğrulayıcı'mizde doğrulayın.
Mst Shaefale Tarafından Tasarlandı ve Belgelendi Baş Geliştirici ve Android Paket Mimarı • Android 12–15'te Doğrulandı

XAPKS'den APK'ya araç setindeki her yardımcı program, JavaScript ve WebAssembly aracılığıyla tarayıcınızda %100 yerel olarak çalışır. Belirli bir pakete sahip bir uç durum mu buldunuz? Bunu mühendislik ekibimize bildirin.