Geliştirici Aracı

Çevrimiçi Ücretsiz AAB'den APK'ya Dönüştürücü — Uygulama Paketini Dönüştürün

Ücretsiz çevrimiçi AAB'den APK'ye dönüştürücü — etkileşimli komut oluşturucu, AAB dosya gezgini, adım adım dönüştürme sihirbazı ve sorun giderme kılavuzu. Windows, Mac ve Linux'de çalışır.

1. İşletim Sisteminizi Seçin

2. AAB Dosya Yolu

3. Çıkış APK Yolu

4. İmza Yapılandırması

5. Seçenekler

Oluşturulan Komut


Önkoşullar

Java JDK 8+ yüklü
bundletool.jar indirildi
Android SDK (isteğe bağlı, cihaza özel)
Bundletool'u indirin

Keşfetmek için AAB Dosyasını Bırakın

Herhangi bir AAB dosyasının iç yapısını görüntüleyin

.aab dosyalarını destekler
1

Bundletool'u indirin

bundletool, Google'ın AAB işlemlerine yönelik resmi aracıdır. GitHub'dan en son sürümü indirin.

wget https://github.com/google/bundletool/releases/latest/download/bundletool-all.jar
2

AAB'den APK'lar oluşturun

AAB dosyanızı bir dizi APK'ya dönüştürmek için bundletool'u kullanın.

java -jar bundletool.jar build-apks --bundle=app.aab --output=app.apks
3

Evrensel APK oluştur

Tüm cihazlarda çalışan tek bir evrensel APK oluşturun.

java -jar bundletool.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
4

APK'yi APK'lardan çıkarın

Çıktı .apks dosyası bir ZIP arşividir. Universal.apk dosyasını buradan çıkarın.

unzip app.apks -d output_dir/
5

Cihaza Kurulum (İsteğe bağlı)

Oluşturulan APK'ları doğrudan bağlı bir cihaza yükleyin.

java -jar bundletool.jar install-apks --apks=app.apks

Android App Bundle (AAB), Google Play'de Android uygulamalarının yayınlama biçimidir. Derlenmiş tüm kodu ve kaynakları içerir ancak APK oluşturma işlemini, her cihaz yapılandırması için optimize edilmiş APK'lar oluşturan Google Play'e erteler.

Hayır. AAB'den APK'ya dönüştürme, bir web tarayıcısında çalışamayan bundletool (bir Java uygulaması) gerektirir. Java JDK ve bundletool'un yerel olarak kurulu olması gerekir. Komut oluşturucumuz doğru komutun oluşturulmasına yardımcı olur.

Bu hata, imzalama bilgileri sağlanmadığında ortaya çıkar. İmzasız test için --mode=universal kullanın veya --ks, --ks-pass, --ks-key-alias ve --key-pass parametrelerini sağlayın.

APK'ları böl belirli cihazlar için optimize edilmiştir (mimariye, ekran yoğunluğuna, dile bağlı olarak). Evrensel APK, TÜM konfigürasyonlar için kaynaklar içerir, bu da daha büyük ancak evrensel olarak uyumlu bir APK ile sonuçlanır.

bundletool bir sistem komutu değil, bir JAR dosyasıdır. Şununla kullanın: java -jar bundletool-all.jar. Java JDK 8+'nin kurulu olduğundan ve JAR dosya yolunun doğru olduğundan emin olun.

AAB'yi APK Online'a Dönüştürün: Bu Araç Gerçekte Ne Yapar?

Android App Bundle (.aab), Google Play'in geliştiricilerden yüklemesini istediği biçimdir ancak telefona yükleyebileceğiniz bir şey değildir. Bir derleme sunucusundan, CI ardışık düzeninden veya bir iş arkadaşınızdan bir .aab dosyanız varsa, öncelikle bunu yüklenebilir bir .apk dosyasına dönüştürmeniz gerekir. Bu sayfa, bu iş için size iki şey sunar: işletim sisteminiz için tam bundletool komutunu yazan etkileşimli bir AAB'den APK'ya komut oluşturucu ve paketi tarayıcınızda açarak, onu dönüştürmeden önce içinde ne olduğunu görebilmenizi sağlayan bir AAB dosya gezgini.

Dönüşümün kendisi Google'ın bir Java programı olan resmi bundletool'si aracılığıyla gerçekleştirilir. Bundletool'un Java çalışma zamanına ve anahtar deponuza erişime ihtiyacı olduğundan, asıl derleme adımı sunucularımızda değil, kendi makinenizde gerçekleşir. .aab dosyanız hiçbir zaman hiçbir yere yüklenmez. Oluşturucu, tahmin yürütmeyi ortadan kaldırır, böylece bayrak adlarını ezberlemek yerine doğru, çalıştırmaya hazır komutu kopyalayabilirsiniz.

AAB vs APK: Dosyayı Neden Yeniden Adlandıramıyorsunuz?

Pek çok kişi, uzantıyı yeniden adlandırarak AAB'yi APK olarak nasıl değiştireceğinizi arıyor ve bu hiçbir zaman işe yaramıyor. .apk, Android'in doğrudan yükleyebileceği tek ve bağımsız bir pakettir. .aab bir yayınlama kapsayıcısıdır: derlenmiş kodunuzu ve kaynaklarınızı modüllere bölünmüş olarak tutar ve Google Play'in veya bundletool'un ondan cihaz için optimize edilmiş nihai APK'ları oluşturmasını bekler. Dosyayı yeniden adlandırmak bu modüllerin paketini açmaz veya herhangi bir şeyi imzalamaz; dolayısıyla Android onu yüklemeyi reddeder. Bir Android App Bundle'dan APK'ya'yi dönüştürmenin tek güvenilir yolu bundletool'un sizin için APK setini oluşturmasına izin vermektir.

Windows, Mac ve Linux'ta AAB'yi APK'ya Dönüştürme

Adımlar her platformda aynıdır ve yalnızca dosya yolu stili değişir; bu nedenle yukarıdaki komut oluşturucuda bir Windows, macOS ve Linux anahtarı bulunur. İşte baştan sona tüm akış:

  1. Java JDK 8 veya daha yenisini yükleyin. Java'nın PATH'inizde olduğunu doğrulamak için bir terminalde java -version'yi çalıştırın.
  2. Bundletool'u indirin. Google'ın resmi GitHub sürümler sayfasından en son bundletool-all.jar'yi edinin.
  3. APK setini oluşturun. Paket aracını paketinize yönlendirin ve bir .apks arşivi oluşturmasına izin verin: java -jar bundletool-all.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
  4. .apks arşivini açın. Bu sadece bir ZIP dosyasıdır, bu yüzden onu çıkartın ve içinde universal.apk'yi bulacaksınız.
  5. Cihazınıza yükleyin. APK'yı telefonunuza kopyalayın ve yan yükleyin veya bundletool install-apks'yi USB üzerinden bağlı bir cihazla kullanın.

Evrensel APK ve Bölünmüş APK'lar: Hangisini Oluşturmalısınız?

Herhangi bir telefona yüklenen bir dosya istiyorsanız --mode=universal kullanın. Bu, her CPU mimarisini, ekran yoğunluğunu ve dilini tek bir pakette toplayan tek bir AAB'nizden evrensel APK oluşturur. Daha büyüktür ancak bir yapıyı Play Store dışında test etmek, arşivlemek veya paylaşmak için en basit seçenektir. Modu dışarıda bırakırsanız, bundletool bunun yerine belirli bir cihaz için kesilmiş bölünmüş APK'lar üretir, böylece daha küçük indirilirler ancak eşleşen seti birlikte yüklemeniz gerekir. Hızlı kurulum için .aab dosyasını dönüştürmesi gereken çoğu kişi için evrensel APK doğru seçimdir.

Bir AAB'den Aldığınız APK'yı İmzalama

Android, imzalanmadığı sürece APK yüklemez. Test için bundletool otomatik olarak bir hata ayıklama anahtarıyla imzalayabilir; bu, oluşturucudaki "Hata ayıklama anahtar deposunu kullan" seçeneğinin yaptığı şeyin aynısıdır. Örneğin kendi web sitenizde dağıtmak üzere bir sürüm yapısı hazırlıyorsanız, anahtar deposu yolunu, anahtar deposu parolasını, anahtar takma adını ve anahtar parolası alanlarını doldurarak bunu kendi anahtar deponuzla imzalayın. Oluşturucu daha sonra --ks, --ks-pass, --ks-key-alias ve --key-pass bayraklarını ekler, böylece aldığınız APK, tek kullanımlık bir hata ayıklama imzası yerine gerçek üretim imzanızı taşır.

Yaygın bundletool Hataları ve Nasıl Düzeltilir

İki sorun tekrar tekrar ortaya çıkıyor. "bundletool: komut bulunamadı" mesajı, bundletool'u yerleşik bir komutmuş gibi çalıştırmayı denediğiniz anlamına gelir. Bu bir JAR dosyasıdır, dolayısıyla onu her zaman java -jar bundletool-all.jar ile çağırırsınız. "Anahtar/sertifika yok" hatası, imzalama ayrıntılarının eksik olduğu anlamına gelir: imzasız bir test yapısı için --mode=universal ekleyin veya yukarıda açıklandığı gibi anahtar deposu bayraklarınızı sağlayın. Sayfanın yukarısındaki Sorun Giderme sekmesi bunlardan daha fazlasını kapsar ve AAB Explorer, bir komutta hata ayıklamaya zaman harcamadan önce paketinizin gerçekten beklediğiniz modülleri içerdiğini doğrulamanıza olanak tanır.

Bir AAB'yi Gerçekte Ne Zaman Dönüştürmeniz Gerekir?

Genel nedenler, bir sürüm yapısını yayınlamadan önce gerçek bir cihazda test etmek, bir yapıyı Google Play kullanmayan bir test uzmanına vermek, kendi uygulamanızın yüklenebilir bir kopyasını kayıtlarınız için saklamak veya Play Store dahili testinin ulaşamadığı donanım üzerinde QA çalıştırmaktır. Sebep ne olursa olsun, kendi derlemeleriniz veya üzerinde çalışmak için açık izne sahip olduğunuz paketler gibi yalnızca kullanma hakkına sahip olduğunuz uygulama paketlerini dönüştürü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.