大家好,欢迎来到IT知识分享网。
NDK 编译好几年没搞过了,最近由于项目需求重新复习了相关知识点,查查资料,编译还算顺利。其中遇到 Armembi 这个名词缩写,只知道跟动态库.so 文件有关,具体不知道为什么这样命名,所以这里重点记录一下。
EABI ————Embedded application binary interface, 顾名思义, 嵌入式应用二进制文件接口,是描述可连接目标代码,库目标代码,可执行文件影像,如何连接,执行和调试,以及目标代码生成过程,和c, c++语言接口的规范,是编译连接工具的基础规范,也可以说是一种新的系统调用方式。
还有其他几个名称缩写
JNI————-Java Native Interface, java 语言和Native语言(c,c++)交互的接口
ARM———-(Advanced RISC Machines)微处理器,
NDK———– Native Development Kit 生开发包, c,c++生成二进制so文件的过程都需要NDK
SDK————Android Java Software Development Kit
JDK————Java Development kit
JVM————Java Virtual Machine
NDK编译过程遇到的问题:
1、NDK does not contain any platforms
在AS Project Structure界面设置NDK安装路径的时候会弹出这个提示,原因是因为当前安装的apk版本过高,安装个低版本就可以了
2、@externalNativeBuild/compileClasspath‘: Could not resolve 子module名字
实际上子module并没有jni/ndk模块,但是要在子module的build.gradle文件里加上如下内容,才能消除该编译错误
android {
buildTypes {
externalNativeBuild {
}
}
}
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/144097.html