اولین اپلیکیشن Android خود را میسازید، روی دانلود میزنید، و ناگهان دو فایل دارید: یکی با پسوند .apk و یکی با پسوند .aab. کدام را برای دوستتان میفرستید؟ کدام به Google Play میرود؟ آیا میتوانید فقط نام یکی را به دیگری تغییر دهید؟
پاسخ کوتاه: APK برای نصب است، AAB برای انتشار در Google Play. تقریباً همیشه هر دو را میخواهید. دلیلش را به زبان ساده توضیح میدهیم.
APK چیست
APK مخفف Android Package است. این فایلی است که Android واقعاً نصب میکند. درون آن کد اپلیکیشن شما، تصاویر و چیدمانها، manifest که اپلیکیشن را توصیف میکند (نام، نام بسته، مجوزها) و یک امضای دیجیتال هست که ثابت میکند چه کسی آن را ساخته است.
یک APK بهتنهایی کامل است. میتوانید آن را روی گوشی کپی کنید، رویش بزنید و نصبش کنید. میتوانید آن را به ایمیل پیوست کنید، روی وبسایت خود بگذارید یا به یک آزمایشکننده بدهید. هر اپلیکیشن روی هر گوشی Android در نهایت به یک یا چند APK تبدیل میشود، حتی آنهایی که از Google Play آمدهاند.
AAB چیست
AAB مخفف Android App Bundle است. Google آن را یک قالب انتشار توصیف میکند: شامل همه کدهای کامپایلشده و منابع اپلیکیشن شماست، اما مرحله آخر، یعنی تولید و امضای APKها، را به Google Play میسپارد.
این تفاوت اصلی است. نمیتوانید روی یک AAB در گوشی بزنید و نصبش کنید. بستهای است که به فروشگاه میدهید و فروشگاه آن را به APKهای قابل نصب تبدیل میکند.
چرا این همه زحمت؟ چون گوشیها با هم فرق دارند. یک گوشی ارزان با صفحه کوچک به تصاویر خیلی بزرگ ساختهشده برای تبلت نیاز ندارد، و گوشیای که روی زبان اسپانیایی تنظیم شده به متن ژاپنی شما نیاز ندارد. Google Play از یک bundle برای هر پیکربندی دستگاه APKهای بهینه میسازد، تا هر گوشی فقط کد و منابعی را دانلود کند که لازم دارد. کاربران دانلود کوچکتری دارند و شما دیگر لازم نیست برای هر نوع دستگاه یک APK جداگانه بسازید و مدیریت کنید.
چرا Google Play فایل AAB میخواهد
از اوت 2021، اپلیکیشنهای جدید در Google Play باید بهصورت Android App Bundle منتشر شوند. اگر امروز یک اپلیکیشن جدید در Play Console بسازید و بخواهید APK بارگذاری کنید، برای آن اپلیکیشن پذیرفته نمیشود. AAB را بارگذاری میکنید و Play بقیه کار را انجام میدهد.
قالب bundle با امکانات اضافی Play مثل Play Feature Delivery و Play Asset Delivery هم کار میکند که به اپلیکیشنهای بزرگ اجازه میدهند بخشهایی از خود را بعداً دانلود کنند. برای یک اپلیکیشن کوچک معمولی که از یک وبسایت یا فایلهای HTML ساخته شده، به اینها نیاز ندارید. نکته فقط این است که AAB بلیت ورود به فروشگاه است.
Play App Signing و کلید آپلود
هر اپلیکیشن Android باید امضا شود، و هر بهروزرسانی باید با همان کلیدی امضا شود که نسخه نصبشده با آن امضا شده است. اگر کلید را گم کنید، نمیتوانید برای آن اپلیکیشن بهروزرسانی منتشر کنید. این قبلاً خطری واقعی برای توسعهدهندگان کوچک بود، و دلیل مهمی است که Google سرویس Play App Signing را معرفی کرد.
با Play App Signing دو کلید وجود دارد:
- کلید امضای اپلیکیشن. Google این کلید را در زیرساخت امن کلیدهای خودش نگه میدارد و با آن APKهایی را امضا میکند که به گوشی کاربران تحویل داده میشوند.
- کلید آپلود. این کلید را خودتان نگه میدارید. با آن AAB خود را پیش از بارگذاری در Play Console امضا میکنید تا Google بداند بارگذاری واقعاً از طرف شماست.
بخش خوب ماجرا این است که اگر مشکلی پیش بیاید چه میشود. اگر کلید آپلود خود را گم کنید، یا فکر کنید شخص دیگری به آن دسترسی دارد، از اپلیکیشن خود بیرون نمیمانید. یک کلید آپلود جدید میسازید، گواهی آن را خروجی میگیرید و در Play Console درخواست بازنشانی میدهید. اپلیکیشنهای جدید بهطور خودکار در Play App Signing ثبت میشوند.
حتی با این پشتوانه، با کلید خود مثل کلید خانه اپلیکیشنتان رفتار کنید. از آن در جایی امن، مثل یک فضای ابری یا یک مدیر رمز عبور، نسخه پشتیبان بگیرید و برای هر بهروزرسانی از همان فایل کلید استفاده کنید.
چرا همچنان به APK نیاز دارید
اگر Google Play فقط AAB میپذیرد، شاید فکر کنید APK منسوخ شده است. اینطور نیست. کارهای زیادی هست که فقط از APK برمیآید:
- آزمایش روی گوشی خودتان. پیش از بارگذاری هر چیزی، میخواهید اپلیکیشن را نصب کنید و همه صفحهها را امتحان کنید. یک APK در چند ثانیه نصب میشود.
- اشتراک با دوستان، مشتریان یا همکاران. هر اپلیکیشنی جایش در فروشگاه عمومی نیست. یک ابزار داخلی برای یک تیم کوچک، یک اپلیکیشن منو برای یک رستوران، یا یک پروژه مدرسه را میتوان بهسادگی بهصورت APK به اشتراک گذاشت.
- فروشگاههای دیگر و وبسایت خودتان. برخی فروشگاههای جایگزین و بسیاری از دانلودهای مستقیم همچنان با فایلهای APK کار میکنند.
- بررسیهای سریع پیش از انتشار. اگر یک آزمایشکننده باگی گزارش کند، میتوانید در چند دقیقه یک APK اصلاحشده برایش بفرستید، بهجای اینکه منتظر بررسی فروشگاه بمانید.
یک نکته درباره اشتراک APK: وقتی Play App Signing روشن است، نسخهای که کاربران از Google Play میگیرند با کلید امضای اپلیکیشن Google امضا شده، در حالی که APK که خودتان میسازید با کلید آپلود شما امضا شده است. Android اینها را امضاهای متفاوتی میداند، پس گوشیای که APK خود شما را نصب کرده نمیتواند بهسادگی آن را از Google Play بهروزرسانی کند، و برعکس. برای آزمایشکنندگان این معمولاً مشکلی ندارد؛ فقط پیش از نصب از فروشگاه، نسخه آزمایشی را حذف کنید. همچنین در نظر داشته باشید که Google در حال اجرای تأیید هویت توسعهدهندگان برای اپلیکیشنهای نصبشده روی دستگاههای Android تأییدشده است، که روی APKهای بهاشتراکگذاشتهشده بیرون از فروشگاه اثر میگذارد. این را در مقالهای جداگانه توضیح دادهایم.
مقایسه سریع
- نصب مستقیم روی گوشی: APK بله، AAB نه.
- بارگذاری در Google Play بهعنوان اپلیکیشن جدید: AAB بله، APK نه.
- چه کسی اپلیکیشن نهاییای را که کاربران نصب میکنند امضا میکند: برای APK، شما؛ برای AAB در Play با Play App Signing، Google با کلید امضای اپلیکیشن.
- حجم دانلود برای کاربران: APK برای همه یک فایل است؛ از AAB، Play برای هر دستگاه APKهای کوچکتری میسازد.
Free HTML to APK چطور هر دو را به شما میدهد
وقتی با Free HTML to APK میسازید، لازم نیست یک قالب را انتخاب کنید و بعد بفهمید چطور دیگری را به دست بیاورید. در مرحله خروجی، APK + AAB را انتخاب کنید تا هر دو را از یک ساخت دریافت کنید:
- یک APK امضاشده برای نصب روی گوشی خودتان و اشتراک با آزمایشکنندگان، و
- یک Android App Bundle، امضاشده با کلید شما و آماده بارگذاری در Play Console، که در آنجا آن کلید بهعنوان کلید آپلود شما برای Play App Signing عمل میکند.
سازنده وبسایت در freehtmltoapk.com با آدرس URL وبسایت، فایلهای HTML، یک ZIP یا یک پوشه کار میکند. رایگان است، حساب کاربری نمیخواهد و واترمارک اضافه نمیکند. میتوانید اجازه دهید برایتان کلید امضا بسازد، یا هنگام بهروزرسانی یک اپلیکیشن موجود از فایل کلیدی که دارید (.jks، .keystore، .p12 یا .pfx) استفاده کنید. اگر ترجیح میدهید در حرکت کار کنید، اپلیکیشن Android با نام "HTML to APK: Website to App" به همین روش، مستقیماً روی گوشی شما میسازد.
از هر کدام که استفاده کنید، قاعده یکی است: کلید خود را امن نگه دارید و هر بهروزرسانی را با آن بسازید.
به کدام فایل نیاز دارید؟
اگر در حال آزمایش یا اشتراکگذاری مستقیم هستید، به APK نیاز دارید. اگر در Google Play منتشر میکنید، به AAB نیاز دارید. اگر هر دو کار را میکنید، که بیشتر افراد همینطورند، هر دو را بسازید و آنها را همراه با کلید امضای خود نگه دارید.
آماده ساختن یک bundle هستید؟ برای ساختن آن HTML به AAB را ببینید، و برای همه مراحل از راهاندازی Play Console تا اولین انتشار، راهنمای انتشار در Google Play را بخوانید.