Application.mk中APP_ABI
在使用NDK編譯過程中發現針對不同的CPU架構,部分支援編譯除錯,部分不支援除錯,故記錄下來,以防忘記
在Application.mk檔案中有個預定義命令引數APP_ABI,是指明編譯與除錯的CPU架構。
目前Android系統支援以下七種不同的CPU架構:ARMv5,ARMv7(從2010年起),x86(從2011年),MIPS(從2012年),ARMv8,MIPS64和x86_64(從2014年),每一種都對應相應的ABI。
CPU架構 | ABI | |
ARMv5 | armeabi | 32位,從2010年 |
ARMv7 | armeabi-v7a | 32位,從2010年 |
x86 | x86 | 32位,從2011年 |
MIPS | mips | 32位,從2012年 |
ARMv8 | arm64-v8a | 64位,從2014年 |
MIPS64 | mips64 | 64位,從2014年 |
x86_64 | x86_64 | 64位,從2014年 |
相應生成arm64-v8a,mips64,x86_64下的檔案需要NDK_r10以上版本支援。在Application.mk檔案裡配置APP_ABI的內容。例如指明某個具體的CPU架構
APP_ABI := arm64-v8a
或者直接生成所有的版本
APP_ABI := all
注意:根據不同的NDK版本,APP_ABI := all僅能生成當前版本支援的ABI資訊庫檔案,如果需要生成最新的必須更新相應的NDK版本。
或者明確寫明支援的CPU架構
APP_ABI := armeabi,armeabi-v7a,x86,mips,arm64-v8a,mips64,x86_64
建議採用該方法
注意:由於目前版本支援的問題,採用Eclipse+NDK+Windows整合方式開發,對應編譯生成對應CPU架構的so檔案是沒有問題的。但是不一定可以執行除錯工作,啟動NDK除錯模式時將會提示無法識別對應的ABI。
注意:(1)、目前模擬器只有x86_64的沒有arm64-v8a的;(2)、在用真機測試armv8-a時,最好先通過adb shell, cat /proc/cpuinfo ,來檢視下真機是否是支援armv8-a;(3)、arm32和arm64有些配置引數不能共存,如-msoft-float僅在arm32位下支援,在arm64位下是不支援的.
相關文章
- Python 中的類(中)Python
- php中$$str中”$$”的解釋PHP
- LINUX中斷--申請中斷和解除安裝中斷Linux
- oracle中rownum,sql server中top函式,mysql中limit[轉載]OracleServer函式MySqlMIT
- life is short 中譯本(嘗試中)
- JAVA中object類中toString()方法JavaObject
- 資料流中的中位數
- 中斷和中斷處理程式
- Android中ExpandableListView中巢狀ListViewAndroidView巢狀
- (中級) CSS中的“正常”(normal)值CSSORM
- excel 中,選中的行,變色Excel
- statspack中報告中的等待事件事件
- pytorch中中的模型剪枝方法PyTorch模型
- oracle中Oracle
- 中斷
- js中給陣列中物件去重JS陣列物件
- 面試中聊到的javascript中的繼承面試JavaScript繼承
- css中:not()選擇器和jQuery中.not()方法CSSjQuery
- Swift中URL處理中的注意點Swift
- SQLite中中實現 if not exist 類似功能SQLite
- Python中的類和物件(中級)Python物件
- gcc-avr中中斷的寫法GCVR
- 深度解析VC中的訊息(中) (轉)
- toLua中Lua呼叫C#中的類C#
- MySQL中複製資料表中的資料到新表中的操作教程MySql
- Ext 中 如何將grid的資料傳到tab中的html段中HTML
- MySQL 當中的各種鎖(中級篇)MySql
- VUE中v-for的4中使用方式Vue
- 談談中臺架構之交易中臺架構
- java中的引用與c中的指標Java指標
- HTML中的標籤中li橫向排列HTML
- vuex中的state在元件中如何監聽?Vue元件
- iOS 中tableview cell點選取消選中效果iOSView
- OC中專案使用swift(持續更新中)Swift
- JQuery中判斷元素中是否有內容jQuery
- oracle中執行計劃中的cardinalityOracle
- [原創] Mysql中 Desc tables 中MUl解釋MySql
- sql中查詢目錄中的檔名SQL