当我探索开放源代码时,我多次看到这个库(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. 什么是压缩机模块?他们为什么重要?如何使用它?