最新國際新聞頭條今日國際大事件seo計費系統(tǒng)登錄
一、前提
這次主要了解Android的cpu架構(gòu)類型,以及在使用CMake工具的時候,如何指定生成哪種類型的庫文件。
如上圖所示,是我們之前使用CMake工具默認(rèn)生成的四種cpu架構(gòu)的動態(tài)庫文件:arm64-v8a、armeabi-v7a、x86、x86_64,分別對應(yīng)對四種不同cpu類型的支持。
?如上圖所示,不同手機使用了不同的cpu,不同的cpu支持不同的指令集,每種指令集有對應(yīng)的二進(jìn)制接口abi(arm64-v8a、armeabi-v7a、x86、x86_64就是四種abi類型 ),就是二進(jìn)制庫文件。其中手機常用的是arm64-v8a、armeabi-v7a,平板和虛擬機上更多的是x86、x86_64。
1、常用cpu的abi兼容性:
?如果我們手機的CPU架構(gòu)是armv7,項目中可以只配置armeabi-v7a,可以兼容armv7、armv8、x86三種cpu的手機。這樣可以節(jié)約安裝包的大小,這就是兼容性的好處。
2、使用adb命令查看手機的CPU機構(gòu)
adb shell
cat /proc/cpuinfo
?二、如何配置生成指定CPU的庫文件
在gradle中配置的兩種方式:
1、在android閉包下的defaultConfig閉包下加上ndk閉包,如下所示:這種可用于cmake和ndk-build
?2、在gradle的cmake配置中配置:這種只適用于cmake工具
?這兩種方式編譯之后,生成對應(yīng)的目錄下的文件(支持多種用逗號增加:abiFilters "arm64-v8a","x86")
?