Android'de ARM: Nedir ve neden önemlidir?
Kısaca: Cihaz arm64‑v8a gösteriyorsa veya ro.product.cpu.abilist64 özelliğine sahipse arm64 (gsi_arm64 / arm64‑yazılımı) kurun; yalnızca armeabi‑v7a varsa 32-bit imajı seçin. Uyumsuz mimari, önyükleme hatasına veya kararsızlığa yol açar.
Mimariyi ve uyumlu ABI'leri nasıl kontrol edersiniz — kanıtlanmış yöntemler
- ADB üzerinden (en doğru yöntem):
- adb shell getprop ro.product.cpu.abi
- adb shell getprop ro.product.cpu.abilist
- adb shell getprop ro.product.cpu.abilist32
- adb shell getprop ro.product.cpu.abilist64
- Ek olarak:
- adb shell cat /proc/cpuinfo — SoC modeli ve çekirdek modu.
- adb shell uname -a — bazen aarch64/armv7l gösterir.
- fastboot getvar all — ürün ve önyükleyici bilgisi.
Eğer ro.product.cpu.abilist64 boşsa ve abilist yalnızca armeabi‑v7a içeriyorsa, sistem fiilen 32-bittir veya 32-bit userspace'te çalışır. Her iki özelliği de kontrol edin.
İmaj/yazılım nasıl seçilir — flash öncesi kontrol listesi
- ABI'yi belirleyin — eğer arm64 desteği varsa, arm64 imajını seçin.
- İmaj türünü seçin:
- Modeliniz/bölge kodunuz için üreticinin resmi yazılımı — mevcutsa önceliklidir.
- GSI — yalnızca Project Treble (Android 9+) destekleyen cihazlar ve uyumlu yapılandırma (A/B, AVB, binder-bitness) için. 64-bit cihazlar için gsi_arm64 alın.
- Özel yazılımlar — satıcıyı (vendor) dikkate aldıkları için belirli modele uyarlanmışlarsa tercih edilir.
- Bootloader/satıcı sürümlerini ve imaj gereksinimlerini (binder-bitness, AVB) karşılaştırın.
- Önyükleyici durumunu (fastboot) ve kilidinin açık olup olmadığını, imza uyumluluğunu kontrol edin.
- Tam yedekleme yapın (Nandroid, userdata snapshot) ve geri alma planı hazırlayın.
Kesinlikle arm64‑v8a gösteren ve 32-bit abilist içermeyen bir cihaza 32-bit imaj yüklemeyin — bootloop veya önyükleme hatası riski vardır.
Hangi imaj ne zaman seçilmeli
| Durum | İmaj Seçimi | Açıklama |
|---|---|---|
| Arm64 destekli modern telefon | arm64 / gsi_arm64 / resmi arm64‑yazılımı | Daha iyi performans ve 64-bit kütüphane uyumluluğu |
| Eski telefon (armeabi‑v7a) | arm / 32-bit resmi yazılım | 64-bit imaj önyüklenmez |
| Intel tabanlı cihaz | x86 / x86_64 | Yalnızca nadir Intel cihazlar için |
| Treble cihazında GSI testi | gsi_arm64 (eğer 64-bit ise) | A/B ve AVB desteğinden emin olun |
Sık yapılan hatalar
- ro.product.cpu.abilist* özelliklerini görmezden gelmek ve uyumsuz ABI yüklemeye çalışmak.
- Fastboot/bootloader kontrolünün yapılmaması: kilitli önyükleyici veya uyumsuz imzalar.
- Yazılım yüklemeden önce yedekleme yapılmaması.
- Project Treble desteği olmayan veya binder-bitness dikkate alınmayan bir cihaza saf GSI yüklemeye çalışmak.
SSS
- Arm64 cihazda 32-bit APK çalıştırılabilir mi?
Evet, sistem 32-bit userspace'i destekliyorsa (ro.product.cpu.abilist'i kontrol edin). Ancak bazı derlemeler 32-bit desteğini devre dışı bırakır. - GSI mi yoksa özel yazılım mı seçilmeli?
GSI, temiz AOSP testi ve uyumlu Treble cihazları için iyidir; özel ROM'lar (Lineage vb.) belirli modele daha iyi uyarlanmıştır ve günlük kullanım için daha kararlıdır. - SoC'nin 64-bit desteğini nasıl anlarsınız?
SoC modeli (Snapdragon/Exynos/MediaTek) genellikle ARMv8+ desteğini gösterir, ancak nihai kararı sistem derlemesi verir — ro.product.cpu.abilist* özelliklerine bakın.
Hızlı komut seti (terminale kopyalayın)
- adb shell getprop ro.product.cpu.abi
- adb shell getprop ro.product.cpu.abilist
- adb shell getprop ro.product.cpu.abilist64
- adb shell cat /proc/cpuinfo
- fastboot getvar all
Sonuç: İmajı ro.product.cpu.abilist* verilerine ve cihaz türüne göre seçin (resmi yazılım → özel/uyarlanmış ROM → yalnızca Treble uyumluluğu durumunda GSI). Yazılım yüklemeden önce yedekleme yapın ve önyükleyici durumunu kontrol edin; şüpheniz varsa getprop çıktısını gönderin — modeliniz için spesifik seçim konusunda yardımcı olurum.