Android-armebi-v7a、arm64-v8a、armebi的坑


先來一波掃盲:

armeabi:針對普通的或舊的arm v5 cpu

armeabi-v7a:針對有浮點運算或高級擴展功能的arm v7 cpu(32位ARM設備)

arm64-v8a:64位ARM設備

Android L開始才真正支持32位和64位的ART虛擬機,配合上64位處理器,名正言順的運行64位軟件

兼容和文件讀取順序

arm64-v8a是可以向下兼容的,其下有armeabi-v7a,armeabi 
armeabi-v7a向下兼容armeabi

對於一個cpu是arm64-v8a架構的手機,它運行app時,進入jnilibs去讀取庫文件時,先看有沒有arm64-v8a文件夾:

如果沒有該文件夾,去找armeabi-v7a文件夾,如果沒有,再去找armeabi文件夾,如果連這個文件夾也沒有,就拋出異常 
如果有arm64-v8a文件夾,那么就去找特定名稱的.so文件,注意:如果沒有找到,不會再往下(armeabi-v7a文件夾)找了,而是直接拋出異常

 

參考自:

http://blog.csdn.net/mao520741111/article/details/50328669

http://blog.csdn.net/hss01248/article/details/51505531

http://www.voidcn.com/blog/u013278099/article/p-4944290.html

http://blog.csdn.net/vhawk/article/details/49964475


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM