原文出處
這樣一來,雖然可以相容所有機型,但你的專案體積也會變得非常龐大。是否一定需要帶入這麼多so檔案去相容呢?答案是否定的。
so(cpu)的相容
對於cpu來說,不同的架構並不意味著一定互不相容,根據目前android共支援七種不同型別的cpu架構,其相容特點可總結如下:
armeabi裝置只相容armeabi;
armeabi-v7a裝置相容armeabi-v7a、armeabi;
arm64-v8a裝置相容arm64-v8a、armeabi-v7a、armeabi;
x86裝置相容x86、armeabi;
x86_64裝置相容x86_64、x86、armeabi;
mips64裝置相容mips64、mips;
mips只相容mips;
根據以上的相容總結,我們還可以得到一些規律:
armeabi的so檔案基本上可以說是萬金油,它能執行在除了mips和mips64的裝置上,但在非armeabi裝置上執行效能還是有所損耗;
64位的cpu架構總能向下相容其對應的32位指令集,如:x86_64相容x86,arm64-v8a相容armeabi-v7a,mips64相容mips;
關於so的相容規律就介紹到此,下面談談適配工作。
so的適配
從目前移動端cpu市場的份額資料看,arm架構幾乎壟斷,所以,除非你的使用者很特殊,否則幾乎可以不考慮單獨編譯帶入x86、x86_64、mips、mips64架構so檔案。除去這四個架構之後,還要帶入armeabi、armeabi-v7a、arm64-v8a這三個不同型別,這對於乙個擁有大量so檔案的應用來說,安裝包的體積將會增大不少。
就目前市場份額而言,絕大部分的裝置都已經是armeabi-v7a、arm64-v8a,你也可以考慮只保留armeabi-v7a架構的so檔案,這樣能獲得更好的效能效果。
總結以上便是關於so檔案相容適配的一點總結梳理,如有錯誤,歡迎指出。
Android SO 檔案的相容和適配
出自 這樣一來,雖然可以相容所有機型,但你的專案體積也會變得非常龐大。是否一定需要帶入這麼多 so 檔案去相容呢?答案是否定的。對於 cpu 來說,不同的架構並不意味著一定互不相容,根據目前 android 共支援七種不同型別的 cpu 架構,其相容特點可總結如下 根據以上的相容總結,我們還可以得到...
Android SO檔案的相容和適配
這樣一來,雖然可以相容所有機型,但你的專案體積也會變得非常龐大。是否一定需要帶入這麼多so檔案去相容呢?答案是否定的。對於cpu來說,不同的架構並不意味著一定互不相容,根據目前android共支援七種不同型別的cpu架構,其相容特點可總結如下 根據以上的相容總結,我們還可以得到一些規律 關於so的相...
Android SO檔案的相容和適配
這樣一來,雖然可以相容所有機型,但你的專案體積也會變得非常龐大。是否一定需要帶入這麼多so檔案去相容呢?答案是否定的。對於cpu來說,不同的架構並不意味著一定互不相容,根據目前android共支援七種不同型別的cpu架構,其相容特點可總結如下 根據以上的相容總結,我們還可以得到一些規律 關於so的相...