日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于android中的armeabi、armeabi-v7a、arm64-v8a及x86等用splits用指定打包

發(fā)布時(shí)間:2023/12/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于android中的armeabi、armeabi-v7a、arm64-v8a及x86等用splits用指定打包 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Android 設(shè)備的CPU類型(通常稱為”ABIs”)

armeabi-v7a: 第7代及以上的 ARM 處理器。2011年以后生產(chǎn)的大部分Android設(shè)備都使用它.
arm64-v8a: 第8代、64位ARM處理器,很少設(shè)備,三星 Galaxy S6是其中之一。
armeabi: 第5代、第6代的ARM處理器,早期的手機(jī)用的比較多。
x86: 平板、模擬器用得比較多。
x86_64: 64位的平板。

1.armeabi:默認(rèn)選項(xiàng),將創(chuàng)建以基于

ARM* v5TE 的設(shè)備為目標(biāo)的庫。 具有這種目標(biāo)的浮點(diǎn)運(yùn)算使用軟件浮點(diǎn)運(yùn)算。 使用此 ABI (二進(jìn)制接口)

創(chuàng)建的二進(jìn)制代碼將可以在所有 ARM*
設(shè)備上運(yùn)行。所以armeabi通用性很強(qiáng)。但是速度慢

2.armeabi-v7a:創(chuàng)建支持基于

ARM* v7 的設(shè)備的庫,并將使用硬件 FPU 指令。armeabi-v7a是針對有浮點(diǎn)運(yùn)算或高級擴(kuò)展功能的arm v7 cpu。

3.x86:支持基于硬件的浮點(diǎn)運(yùn)算的

IA-32 指令集。x86是可以兼容armeabi平臺運(yùn)行的,無論是armeabi-v7a還是armeabi,同時(shí)帶來的也是性能上的損耗,

另外需要指出的是,打包出的x86的so,總會(huì)比armeabi平臺的體積更小。

總結(jié)

如果項(xiàng)目只包含了 armeabi,那么在所有Android設(shè)備都可以運(yùn)行;
如果項(xiàng)目只包含了 armeabi-v7a,除armeabi架構(gòu)的設(shè)備外都可以運(yùn)行;

如果項(xiàng)目只包含了 x86,那么armeabi架構(gòu)和armeabi-v7a的Android設(shè)備是無法運(yùn)行的; 如果同時(shí)包含了 armeabi, armeabi-v7a和x86,所有設(shè)備都可以運(yùn)行,程序在運(yùn)行的時(shí)候去加載不同平臺對應(yīng)的so,這是較為完美的一種解決方案,同時(shí)也會(huì)導(dǎo)致包變大。


最后,如果我們只想支持armeabi-v7a,那么需要在gradle中配置

? ? defaultConfig {ndk {abiFilters "armeabi-v7a"}}

? ? 或

? ? ? ? ndk { ? ? ? ? ? ? abiFilters "armeabi","arm64-v8a", /*"armeabi-v7a",*/ "x86", "mips" ? ? ? ? }

?

?

因?yàn)槟J(rèn)情況下,打包后會(huì)自動(dòng)生成armeabi 到 x86的所有文件夾。這就有可能導(dǎo)致一些x86的設(shè)備因?yàn)樵趚86文件夾下找不到so文件而崩潰。

?

拆分打包 ,詳情?https://blog.csdn.net/weixin_37625173/article/details/103284575

? ? ? ? splits { ? ? ? ? ? ? abi { ? ? ? ? ? ? ? ? enable true ? ? ? ? ? ? ? ? reset() ? ? ? ? ? ? ? ? include 'x86', 'armeabi-v7a', 'x86_64' ? ? ? ? ? ? ? ? universalApk true ? ? ? ? ? ? } ? ? ? ? }

總結(jié)

以上是生活随笔為你收集整理的关于android中的armeabi、armeabi-v7a、arm64-v8a及x86等用splits用指定打包的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。