بسته برنامه اندروید
![]() | |
پسوند(های) نام پرونده | .apk .xapk |
---|---|
نوع رسانهٔ اینترنتی | application/vnd.android.package-archive |
گونه | فرمت بسته |
دربرگیرنده | اپ موبایل |
نیاکان | JAR و زیپ |
بسته برنامه اندروید[۱] (انگلیسی: Android application package) به اختصار ایپیکی (APK) یک فرمت فایل بسته استفاده شده توسط سیستم عامل اندروید برای توزیع و نصب و راهاندازی برنامههای تلفن همراه و میانافزار است. فایلهای [۲]APK مشابه بستههای نرمافزاری دیگر مانند APPX در مایکروسافت ویندوز یا بستههای deb در سیستم عاملهای مبتنی بر دبیان مانند اوبونتو هستند. برای ایجاد یک فایل APK، یک برنامه اندرویدی برای اولین بار فایل را گردآوری، و پس از آن همه قطعات آن را به یک فایل بستهبندی میکند.
تاریخچه و توسعه
[ویرایش]فرمت APK با معرفی اولین نسخه از سیستمعامل اندروید در سال ۲۰۰۸ ایجاد شد. هدف از توسعه این فرمت، سادهسازی فرآیند نصب برنامهها و ارائه تجربهای یکپارچه به کاربران بود. با گذشت زمان، گوگل بهبودهایی در این فرمت ایجاد کرد تا امنیت، عملکرد و انعطافپذیری آن افزایش یابد. از سال ۲۰۲۱، گوگل فرمت AAB (Android App Bundle) را به عنوان جایگزین APK برای برنامههای منتشر شده در فروشگاه Google Play معرفی کرد، اما APK همچنان برای بسیاری از کاربردها استفاده میشود.
ساختار فایل APK
[ویرایش]یک فایل APK شامل بخشهای مختلفی است:
AndroidManifest.xml
[ویرایش]این فایل حاوی اطلاعاتی درباره برنامه است، از جمله نام بسته، مجوزهای موردنیاز، و فعالیتهای اصلی برنامه.
classes.dex
[ویرایش]فایلهایی که کدهای اجرایی برنامه را در قالب بایتکد برای ماشین مجازی Dalvik یا ART ذخیره میکنند.
resources.arsc
[ویرایش]شامل اطلاعاتی درباره منابع گرافیکی، متنها و ترجمهها است.
res/
[ویرایش]دایرکتوری منابع گرافیکی مانند تصاویر و فایلهای XML.
META-INF/
[ویرایش]شامل اطلاعات مربوط به امضای دیجیتال و گواهیهای امنیتی.
نحوه ایجاد فایل APK
[ویرایش]توسعهدهندگان معمولاً فایلهای APK را با استفاده از ابزارهایی مانند Android Studio ایجاد میکنند. فرآیند ایجاد شامل مراحل زیر است[۳]:
- نوشتن کد برنامه در زبانهایی مانند Java یا Kotlin.
- کامپایل کدها به بایتکد و ایجاد فایلهای DEX.
- بستهبندی منابع و کدها در یک فایل ZIP.
- امضای دیجیتال فایل APK برای تأیید اعتبار و جلوگیری از تغییرات غیرمجاز.
- انتشار فایل APK در فروشگاههای نرمافزاری یا به صورت مستقیم.
نصب و توزیع فایل APK
[ویرایش]از طریق Google Play Store
[ویرایش]کاربران معمولاً برنامهها را از فروشگاه رسمی گوگل دانلود و نصب میکنند.
Sideloading
[ویرایش]کاربران میتوانند فایلهای APK را مستقیماً از منابع دیگر دانلود و نصب کنند، اما این روش خطرات امنیتی بیشتری دارد.
ابزارهای مدیریت دستگاه (MDM)
[ویرایش]شرکتها از فایلهای APK برای نصب نرمافزارهای سفارشی روی دستگاههای کارمندان استفاده میکنند.
مزایا و معایب فرمت APK
[ویرایش]مزایا:
[ویرایش]- نصب ساده و سریع.
- پشتیبانی گسترده در تمامی دستگاههای اندرویدی.
- قابلیت اشتراکگذاری فایلها بدون نیاز به اینترنت.
معایب:
[ویرایش]- خطر نصب بدافزار از منابع غیررسمی[۴].
- عدم پشتیبانی بومی از بروزرسانیهای افزایشی (incremental updates).
- احتمال پیچیدگی در مدیریت نسخهها برای توسعهدهندگان.
امنیت و حفاظت
[ویرایش]فایلهای APK میتوانند شامل بدافزار باشند، به خصوص اگر از منابع غیررسمی دانلود شوند. برای کاهش خطرات:
- همیشه از منابع معتبر مانند Google Play استفاده کنید.
- از ابزارهایی مانند Google Play Protect برای اسکن فایلهای APK بهره ببرید.
- به امضای دیجیتال فایل APK توجه کنید و از معتبر بودن آن اطمینان حاصل کنید.
فرمتهای جایگزین: AAB
[ویرایش]فرمت Android App Bundle (AAB) که توسط گوگل معرفی شده، یک جایگزین جدید برای APK است. این فرمت امکان بهینهسازی حجم فایل و دانلود ماژولهای موردنیاز کاربر را فراهم میکند.
تفاوتها:
[ویرایش]- AAB فقط در Google Play قابل استفاده است.
- فایل APK نهایی توسط Google Play ایجاد و به دستگاه کاربر ارسال میشود.
- AAB از امنیت و انعطاف بیشتری برخوردار است، اما دسترسی به آن محدودتر است.
کاربردها و محبوبیت فایلهای APK
[ویرایش]فرمت APK همچنان یکی از پرکاربردترین روشهای نصب برنامهها در دستگاههای اندرویدی است. این فرمت در شبیهسازهای اندروید، نصب برنامههای سفارشی، و در کشورهای بدون دسترسی به Google Play محبوبیت دارد.
جستارهای وابسته
[ویرایش]منابع
[ویرایش]- ↑ Android Developers. پارامتر
|عنوان= یا |title=
ناموجود یا خالی (کمک); پارامتر|پیوند=
ناموجود یا خالی (کمک) - ↑ "Apk". ali. 29 November 2021. Retrieved 19 January 2022.
- ↑ https://developer.android.com/studio. پارامتر
|عنوان= یا |title=
ناموجود یا خالی (کمک); پیوند خارجی در|وبگاه=
وجود دارد (کمک); پارامتر|پیوند=
ناموجود یا خالی (کمک) - ↑ https://source.android.com/security. پارامتر
|عنوان= یا |title=
ناموجود یا خالی (کمک); پیوند خارجی در|وبگاه=
وجود دارد (کمک); پارامتر|پیوند=
ناموجود یا خالی (کمک)
- مشارکتکنندگان ویکیپدیا. «Android application package». در دانشنامهٔ ویکیپدیای انگلیسی، بازبینیشده در ۱۱ مارس ۲۰۱۷.