ابزار توسعه دهنده

تبدیل AAB به APK آنلاین رایگان — تبدیل برنامه بسته

تبدیل AAB به APK آنلاین رایگان — سازنده دستور تعاملی، کاوشگر فایل AAB، جادوگر تبدیل گام به گام و راهنمای عیب یابی. روی Windows، مک و لینوکس کار می کند.

1. سیستم عامل خود را انتخاب کنید

2. مسیر فایل AAB

3. خروجی APK Path

4. پیکربندی امضا

5. گزینه ها

فرمان تولید شده


پیش نیازها

جاوا JDK 8+ نصب شده است
bundletool.jar دانلود شد
Android SDK (اختیاری، برای دستگاه خاص)
ابزار بسته را دانلود کنید

برای کاوش، فایل AAB را رها کنید

ساختار داخلی هر فایل AAB را مشاهده کنید

پشتیبانی از فایل های aab
1

ابزار بسته را دانلود کنید

bundletool ابزار رسمی گوگل برای عملیات AAB است. آخرین نسخه را از GitHub دانلود کنید.

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

فایل های APK را از AAB ایجاد کنید

از bundletool برای تبدیل فایل AAB خود به مجموعه ای از APK استفاده کنید.

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

APK جهانی ایجاد کنید

یک APK جهانی ایجاد کنید که در همه دستگاه‌ها کار کند.

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

APK را از APKS استخراج کنید

فایل apks خروجی یک آرشیو ZIP است. universal.apk را از آن استخراج کنید.

unzip app.apks -d output_dir/
5

نصب روی دستگاه (اختیاری)

فایل‌های APK تولید شده را مستقیماً روی دستگاه متصل نصب کنید.

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

Android App Bundle (AAB) قالب انتشار برنامه‌های Android در Google Play است. این شامل همه کدها و منابع کامپایل شده است، اما تولید APK را به Google Play موکول می کند، که APK های بهینه سازی شده برای هر پیکربندی دستگاه ایجاد می کند.

خیر. تبدیل AAB به APK به ابزار بسته (یک برنامه جاوا) نیاز دارد که نمی تواند در مرورگر وب اجرا شود. شما باید Java JDK و bundletool را به صورت محلی نصب کنید. سازنده دستور ما به تولید دستور صحیح کمک می کند.

این خطا زمانی رخ می دهد که اطلاعات امضا ارائه نشده باشد. یا از --mode=universal برای آزمایش بدون علامت استفاده کنید، یا پارامترهای --ks، --ks-pass، --ks-key-alias، و --key-pass را ارائه دهید.

APK ها را تقسیم کنید برای دستگاه های خاص (بر اساس معماری، تراکم صفحه نمایش، زبان) بهینه شده است. APK جهانی حاوی منابعی برای همه تنظیمات است که منجر به یک APK بزرگتر اما سازگار جهانی می شود.

bundletool یک فایل JAR است، نه یک دستور سیستم. از آن با: java -jar bundletool-all.jar استفاده کنید. مطمئن شوید Java JDK 8+ نصب شده باشد و مسیر فایل JAR درست باشد.

تبدیل AAB به APK آنلاین: آنچه این ابزار در واقع انجام می دهد

Android App Bundle (.aab) قالبی است که Google Play از برنامه‌نویسان می‌خواهد آن را آپلود کنند، اما چیزی نیست که بتوانید آن را روی تلفن نصب کنید. اگر یک فایل .aab از یک سرور ساخت، یک خط لوله CI یا یک همکار دارید، ابتدا باید آن را به یک apk. قابل نصب تبدیل کنید. این صفحه دو چیز را برای آن کار در اختیار شما قرار می دهد: یک سازنده دستور AAB به APK تعاملی که دستور دقیق bundletool را برای سیستم عامل شما می نویسد، و یک کاوشگر فایل AAB که بسته را در مرورگر شما باز می کند تا بتوانید قبل از تبدیل آن، آنچه داخل آن است را ببینید.

این تبدیل به خودی خود از طریق bundletool رسمی گوگل که یک برنامه جاوا است انجام می شود. از آنجایی که bundletool به زمان اجرا جاوا و دسترسی به keystore شما نیاز دارد، مرحله ساخت واقعی در دستگاه شما اتفاق می‌افتد، نه در سرورهای ما. فایل aab. شما هرگز در جایی آپلود نمی شود. سازنده به سادگی حدس و گمان ها را حذف می کند تا بتوانید به جای حفظ کردن نام پرچم ها، یک دستور درست و آماده برای اجرا را کپی کنید.

AAB در مقابل APK: چرا نمی‌توانید فایل را تغییر نام دهید

بسیاری از مردم با تغییر نام برنامه افزودنی، نحوه تغییر AAB به APK را جستجو می کنند و هرگز کار نمی کند. apk. یک بسته مجزا و مستقل است که Android می تواند مستقیماً آن را نصب کند. یک .aab یک محفظه انتشار است: کد و منابع کامپایل شده شما را به صورت ماژول‌ها تقسیم می‌کند و از Google Play یا bundletool انتظار دارد که فایل‌های APK نهایی و بهینه‌شده برای دستگاه را از آن تولید کند. تغییر نام فایل آن ماژول ها را باز نمی کند یا چیزی را امضا نمی کند، بنابراین Android از نصب آن امتناع می کند. تنها راه قابل اعتماد برای تبدیل Android App Bundle به APK این است که به bundletool اجازه دهید مجموعه APK را برای شما بسازد.

نحوه تبدیل AAB به APK در Windows، مک و لینوکس

مراحل در هر پلتفرمی یکسان است و فقط سبک مسیر فایل تغییر می کند، به همین دلیل است که سازنده دستور بالا دارای سوئیچ Windows، macOS و لینوکس است. در اینجا جریان کامل از ابتدا تا انتها آمده است:

  1. جاوا JDK 8 یا جدیدتر را نصب کنید. java -version را در ترمینال اجرا کنید تا تأیید کنید جاوا در مسیر شما قرار دارد.
  2. ابزار بسته را دانلود کنید. جدیدترین bundletool-all.jar را از صفحه رسمی انتشارات GitHub Google دریافت کنید.
  3. مجموعه APK را بسازید. bundletool را به بسته خود نشان دهید و به آن اجازه دهید یک آرشیو .apks ایجاد کند: java -jar bundletool-all.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
  4. بایگانی .apks را باز کنید. این فقط یک فایل ZIP است، پس آن را استخراج کنید و universal.apk را در داخل آن پیدا خواهید کرد.
  5. بر روی دستگاه خود نصب کنید. APK را در تلفن خود کپی کنید و آن را در کناری بارگذاری کنید یا از bundletool install-apks با دستگاهی که از طریق USB متصل است استفاده کنید.

APK جهانی در مقابل APK های تقسیم شده: کدام یک را باید بسازید؟

اگر یک فایل می خواهید که روی هر گوشی نصب شود، از --mode=universal استفاده کنید. این یک APK جهانی از AAB شما ایجاد می کند که هر معماری CPU، تراکم صفحه نمایش و زبان را در یک بسته جمع می کند. بزرگ‌تر است، اما ساده‌ترین گزینه برای آزمایش، بایگانی یا اشتراک‌گذاری یک ساخت در خارج از فروشگاه Play است. اگر حالت را کنار بگذارید، bundletool در عوض فایل‌های APK تقسیم‌شده را تولید می‌کند که برای یک دستگاه خاص بریده شده‌اند، بنابراین آنها کوچک‌تر دانلود می‌شوند اما باید مجموعه منطبق را با هم نصب کنید. برای اکثر افرادی که فقط نیاز به تبدیل یک .aab برای نصب سریع دارند، APK جهانی انتخاب مناسبی است.

امضای APK که از یک AAB دریافت می کنید

Android APK را نصب نمی کند مگر اینکه امضا شده باشد. برای آزمایش، bundletool می‌تواند به‌طور خودکار با کلید اشکال‌زدایی امضا کند، این دقیقاً همان کاری است که گزینه «Use Debug keystore» در سازنده انجام می‌دهد. اگر در حال آماده‌سازی نسخه‌ای برای انتشار در وب‌سایت خود هستید، با پر کردن قسمت‌های مسیر keystore، رمز ذخیره کلید، نام مستعار کلید و رمز عبور کلید، آن را با فروشگاه کلید خود امضا کنید. سازنده سپس پرچم‌های --ks، --ks-pass، --ks-key-alias، و --key-pass را اضافه می‌کند تا APK که دریافت می‌کنید، امضای تولید واقعی شما را به‌جای یک اشکال‌زدایی دور ریختنی حمل کند.

خطاهای رایج bundletool و نحوه رفع آنها

دو مشکل بارها و بارها پیش می آید. پیام "bundletool: command not found" به این معنی است که سعی کردید bundletool را طوری اجرا کنید که انگار یک دستور داخلی است. این یک فایل JAR است، بنابراین همیشه آن را با java -jar bundletool-all.jar صدا می زنید. خطای "بدون کلید/گواهی" به این معنی است که جزئیات امضا وجود ندارد: یا --mode=universal را برای ساخت آزمایشی بدون امضا اضافه کنید، یا پرچم‌های فروشگاه کلید خود را همانطور که در بالا توضیح داده شد ارائه دهید. برگه عیب‌یابی بالاتر از صفحه، موارد بیشتری را پوشش می‌دهد، و AAB Explorer به شما امکان می‌دهد قبل از صرف زمان برای اشکال‌زدایی یک فرمان، تأیید کنید که بسته شما واقعاً حاوی ماژول‌هایی است که انتظار دارید.

چه زمانی واقعاً نیاز به تبدیل AAB دارید؟

دلایل معمول این است که یک نسخه نسخه را قبل از انتشار در یک دستگاه واقعی آزمایش کنید، یک بیلد را به آزمایش‌کننده‌ای که از Google Play استفاده نمی‌کند، نگه دارید، یک نسخه قابل نصب از برنامه خود را برای سوابق خود نگه دارید، یا اجرای QA روی سخت‌افزاری که تست داخلی Play Store به آن دسترسی ندارد. به هر دلیلی، فقط بسته‌های برنامه را تبدیل کنید که حق استفاده از آن‌ها را دارید، مانند بیلدهای خودتان یا بسته‌هایی که اجازه کار با آن‌ها را دارید.

مهندسی و مستند شده توسط Mst Shaefale توسعه‌دهنده اصلی و معمار بسته Android • تأییدشده در Android 12–15

همه ابزارهای موجود در جعبه ابزار XAPK به APK 100% به صورت محلی در مرورگر شما از طریق JavaScript و WebAssembly اجرا می شوند. یک edge case با یک بسته خاص پیدا کردید؟ آن را به تیم مهندسی ما گزارش دهید.