安卓APK安裝包arm64-v8a、armeabi-v7a、x86、x86_64有何區別?如何選擇?

韩憨發表於2024-06-11

https://www.cnblogs.com/yang-yz/p/17276615.html

在GitHub網站下載Android 安裝包,Actions資源下的APK檔案通常有以下版本供選擇:

image

例如上圖是某Android客戶端的安裝包檔案,有以下幾個版本可以選擇:

  • mobile-release.apk(通用版本,體積最大)
  • mobile-universal-release.apk
  • mobile-arm64-v8a-release.apk(第8代64位處理器)
  • mobile-armeabi-v7a-release.apk
  • mobile-x86-release.apk
  • mobile-x86_64-release.apk

一、各個版本之間有什麼區別?

版本號後面的資訊是Android裝置的ARM處理器型別及版本,目前通常分為以下幾種:

1. arm64-v8a

第8代、64位ARM處理器。目前,國內Android應用生態正在向64位架構過渡。同時,移動晶片平臺也將逐步弱化對32位應用的支援。

2. armeabiv-v7a

第7代及以上的 ARM 處理器,是目前主流版本,大部分Android裝置都使用它。

3. armeabi

第5代、第6代的ARM處理器,早期的手機用的比較多,缺乏對浮點數計算的硬體支援,在須要大量計算時有效能瓶頸。

4. x86 / x86_64

x86 架構的手機都會包含由 Intel 提供的稱為 Houdini 的指令集動態轉碼工具,實現對arm .so 的相容。考慮 x86不到1% 的市場佔有率,x86 相關的兩個 .so 也是可以忽略的。

5. mips/mips64

極少用於手機可忽略。

二、應該下載哪個版本的安裝包?

普通手機使用者,建議下載arm64-v8a(第8代、64位ARM處理器)版本,能夠發揮手機最佳效能(只要本型號手機支援8G運存或8G以上就是64位處理器)。如果是很老的手機,也有可能不是64位處理器,那麼就選擇armeabi-v7a,幾乎通用所有手機,而且也相容64位處理器。

以前面圖片的安卓應用為例,第一個是 mobile-release.apk ,沒有標明處理器版本,通常是通用版本,有的應用會寫上-universal。這個版本所有安卓手機都相容,但是安裝包檔案大小是其他版本的幾倍。所以沒必要選擇,忽略該版本。接著是arm64-v8aarmeabi-v7a了,通常情況下arm64-v8a可以覆蓋armeabi-v7a安裝,而後者不能覆蓋前者,需要解除安裝arm64-v8a才能安裝armeabi-v7a。最後面兩個版本幾乎沒有手機在用了,也忽略掉。

相關文章