Android应用开发之JNI源代码开发
- so文件:shared object,仅在运行时被加载,当使用C++进行开发时,在Andoird中以动态链接库输出的形式即为.so文件。因此,.so即为JAVA调用C++代码的一个中间件。当我们将.so文件放入工程时,JAVA代码就会在运行时加载这个native库,并通过JNI调用了它的方法。
- NDK: native develop kit源开发工具,用于进行C/C++的开发。一般情况下,使用NDK工具把C/C++编译为.so文件,然后在JAVA中调用。
- JNI: java native interface即JAVA本地接口,上层通过JNI来调用NDK层,使用这个工具可以很方便的编写和调试JNI的代码。JNI是JAVA调用C++的规范。JNI可以实现
- Android系统支持7中不同的CPU架构,每一种对应着各自的应用程序二进制接口ABI,其定义了二进制文件如何在相应系统平台上运行。其中,包括,从使用的指令集,内存对齐到可用的系统函数库等。如ARMv5,ARMv7,ARMv8, X86, MIPS, MIPS64, X86_64.
- Android中的build.gradle文件主要用于配置软件版本信息、引用库的配置,以及编译所需的配置。
- 安卓中每一个module下都含有一个build.gradle, 其中第一句就是apply plugin:来指定这个文件夹是library,还是application:
application的gradle主要指定当前flavor所生成apk的包名,签名,apk文件名,编译sdk版本,versionName/code,以及dependencies(依赖库)等等