arm64-v8a یعنی چه: معماری‌های اندروید به زبان ساده

arm64-v8a، armeabi-v7a و x86_64 در نام فایل APK چه چیزی را پوشش می‌دهند و گوشی شما کدام است.

اندروید29 آوریل 20262 دقیقه مطالعه

در نام فایل‌های APK اغلب پسوندهایی مثل arm64-v8a می‌بینید. این‌ها مجموعه دستور پردازنده را مشخص می‌کنند. اشتباه بگیرید یا نصب نمی‌شود یا با افت کارایی اجرا می‌شود.

چهار گزینه

معمارییعنیدستگاه‌ها
arm64-v8aARM ۶۴ بیتیاکثریت قاطع گوشی‌ها از ۲۰۱۶ — بیش از ۹۵٪
armeabi-v7aARM ۳۲ بیتیدستگاه‌های قدیمی‌تر و بخشی از مدل‌های اقتصادی
x86_64Intel/AMD ۶۴ بیتیشبیه‌سازها، چند تبلت، دستگاه‌های ChromeOS
x86Intel ۳۲ بیتیدیگر دیده نمی‌شود

خلاصه: اگر گوشی اندرویدی شما در ده سال گذشته خریداری شده، تقریباً قطعاً arm64-v8a است.

بررسی گوشی خودتان

پرس‌وجوی دقیق با adb
adb shell getprop ro.product.cpu.abi
# مثلاً arm64-v8a

adb shell getprop ro.product.cpu.abilist
# مثلاً arm64-v8a,armeabi-v7a,armeabi

جدول سازگاری

دستگاهAPKنتیجهarm64-v8aarm64-v8aبومی، ایده‌آلarm64-v8aarmeabi-v7aاجرا می‌شود، کمی ضعیف‌ترarmeabi-v7aarm64-v8aنصب نمی‌شودarm64-v8ax86_64نصب نمی‌شودشبیه‌ساز x86_64arm64-v8aبسته به شبیه‌ساز، معمولاً ترجمه
اگر تطبیق نداشته باشد

چرا یک بسته همگانی نمی‌سازند

بسته‌های همگانی وجود دارند اما دو تا سه برابر بزرگ‌ترند. برای برنامه‌ای که مرتب به‌روز می‌شود، تفکیک معماری هر دانلود را بسیار کوچک‌تر می‌کند.

شبیه‌سازها و دستگاه‌های خاص

  • شبیه‌سازهای اندروید روی رایانه بیشتر x86_64 هستند؛ arm64 به ترجمه نیاز دارد.
  • ChromeOS: دستگاه‌های تازه‌تر بیشتر x86_64، برخی ARM.
  • باکس تلویزیون و سیستم خودرو: تقریباً همه arm64-v8a.
  • دستگاه‌های هارمونی: لایه سازگاری arm64-v8a را می‌پذیرد.