當我探索開放源代碼時,我多次看到這個庫(armeabi),並且我爲其定義了它,並且我找到了所有關於它的結果,而沒有定義它,I想知道這個armeabi是什麼,爲什麼他們在android應用程序中使用它。什麼是armeabi以及他們爲什麼使用它
35
A
回答
65
Android設備有CPU。其中許多CPU基於ARM架構,有些基於x86架構,還有一些基於MIPS等其他內核。
一些Android應用程序使用本地開發套件(NDK)創建C/C++代碼以鏈接到他們的應用程序。 C/C++代碼需要針對特定的CPU架構進行編譯。 NDK將爲每個體系結構編譯的C/C++代碼版本放入特定於體系結構的目錄中。其中一個目錄是armeabi/
,用於通用ARM CPU。還有armeabi-v7/
(對於ARM V7兼容CPU),x86/
(對於x86處理器)等
9
ABI - 應用程序二進制接口
EABI - 嵌入式應用程序二進制接口
所以ARMEABI是編譯的二進制文件匹配你的android設備的CPU架構。
例如
arm64-V8A(的Nexus 5×) - 64 - ARM的Cortex-A35,ARM的Cortex-A53,ARM的Cortex-A57,ARM的Cortex-A72,ARM的Cortex-A73
armeabi-V7A - 32位 - ARM的Cortex-A5,ARM的Cortex-A7,ARM的Cortex-A8,ARM的Cortex-A9,ARM的Cortex-A12,ARM的Cortex-A15,ARM的Cortex-A17
要包括*。所以二進制jniLibs使用Android Studio 2.3將它們放在src/main/jniLibs
文件夾中,並將以下配置添加到* .gradle文件中:
android {
sourceSets {
main {
jniLibs.srcDirs = ['src/main/jniLibs']
}
}
}
dependencies {
compile fileTree(dir: 'jniLibs', include: ['*.so'])
}
相關問題
- 1. SQL,Postgres OID,它們是什麼以及它們爲什麼有用?
- 2. 什麼是Android以及他們爲什麼創建新的VM?
- 3. WOFF字體,它們是什麼以及爲什麼要關心?
- 4. 什麼是PHP中的Iterables以及我們爲什麼使用它?
- 5. 什麼是InputStream和輸出流?爲什麼以及何時使用它們?
- 6. 在tomcat中,什麼是catalina_home以及我們爲什麼使用它?
- 7. 什麼是片段URL以及爲什麼要使用它
- 8. 什麼是.inc以及爲什麼要使用它?
- 9. 什麼是表達樹,您如何使用它們,以及爲什麼要使用它們?
- 10. 什麼是切換按鈕以及我們什麼時候可以使用它?
- 11. ObjectSpace - 它是什麼以及人們如何使用它?
- 12. 什麼是MySql工作臺以及我們使用它的目的是什麼?
- 13. 什麼是已簽名的cookies以及它們爲什麼有用?
- 14. 什麼是Ext.Component.initialConfig,它做了什麼,以及在什麼情況下使用它?
- 15. '元組變量',它們是什麼以及爲什麼使用它們? (包括代碼)
- 16. C++中的堆棧。他們爲什麼以及何時使用?
- 17. 什麼是IntelliJ中的「手錶」以及如何使用它們?
- 18. 什麼是intvectors以及如何閱讀/使用它們?
- 19. 什麼是StringIndexer,VectorIndexer以及如何使用它們?
- 20. 這些是什麼以及如何使用Ruby刪除它們?
- 21. asm(「pause」)做什麼以及爲什麼要使用它
- 22. Magento的自定義模塊(它們是什麼以及誰可以寫他們)
- 23. APTANA:什麼是JS斷點以及它們爲什麼在PHP文件類中?
- 24. 什麼是API Web服務,您如何創建它們以及爲什麼?
- 25. 什麼是堆棧用於?他們爲什麼使用C++?
- 26. std :: function和std :: bind:它們是什麼以及它們何時被使用?
- 27. 什麼是BigInteger,我們什麼時候可以使用它?
- 28. 爲什麼MVVM以及它的核心優勢是什麼?
- 29. 什麼是相位展開以及爲什麼需要它
- 30. 什麼是壓縮機模塊?他們爲什麼重要?如何使用它?