android studio创建native项目

 概念

什么是NDK,

Android NDK 就是一套工具集合,允许你使用C/C++语言来实现应用程序的部分功能

什么是JNI  

Java调用C/C++在Java语言里面本来就有的,并非Android自创的,即JNI。JNI就是Java调用C++的规范。当然,一般的Java程序使用的JNI标准可能和android不一样,Android的JNI更简单。

JNI可以实现Java代码与C/C++代码的交互

 

android studio 创建项目

1、File->New project 创建一个Native c++项目

 

 

 2、配置NDK,如下,如果没有下载可以点击下载,完成后选择下载目录即可

 

3、配置CMake

 

 

 4、项目的build.gradle文件中配置平台

externalNativeBuild {
cmake {
cppFlags "-frtti -fexceptions"
abiFilters "armeabi-v7a","x86"
}
}

配置完成

编译到启动app的过程发生了什么

 1、Gradle 调用外部构建脚本 CMakeLists.txt文件中的配置信息

 2、CMake 按照构建脚本中的命令将 C++ 源文件 native-lib.cpp 编译到共享的对象库中,并命名为 libnative-lib.so,Gradle 随后会将其打包到 APK 中。

 3、运行时,应用的 MainActivity 会使用 System.loadLibrary() 加载原生库。现在,应用可以使用库的原生函数 stringFromJNI()

 4、MainActivity.onCreate() 调用 stringFromJNI(),这将返回“Hello from C++”并使用这些文字更新 TextView

 查看apk中是否包含.so文件

 1、选择 Build > Analyze APK

 2、从 app/build/outputs/apk/ 目录中选择 APK 并点击 OK

 3、 APK 分析器窗口的 lib/<ABI>/ 下看到 libnative-lib.so  

 

 

 参考链接  https://www.jianshu.com/p/87ce6f565d37 

                 https://www.cnblogs.com/roger-jc/p/11144705.html

                https://www.jianshu.com/p/0261e6cceb3e

posted @ 2020-05-06 17:18  你好and程序员  阅读(2492)  评论(0编辑  收藏  举报