Android studio 使用Cmake完成C/C++ 的使用以及生成so文件
来源:互联网 发布:apache 禁止目录 编辑:程序博客网 时间:2024/06/05 12:08
今天,简单讲讲android中关于Cmake进行NDK编程的相关知识。
Android studio 2.2版本以后对C/C++的支持可以说很方便了,当然官方推荐使用Cmake完成对C/C++的支持
2.2版本以上的同学新建一个项目就知道了,步骤如下:
File -> New -> New Project,如下图:
然后勾选Include C++ support,一直next ,最后Finish以后,项目就出现了,和一般的项目略有不同,其实只要多了几个文件,而已:
1:目录下多了个CmakeLists.txt文件
2:src目录下多了一个cpp目录,里面有个.cpp文件,C++文件都是以.cpp结尾的。
3:就是build.gradle内容中添加了几行配置
一一解读一下,先来看看CmakeLists.txt 文件里面的内容是什么:
apply plugin: 'com.android.application'android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { applicationId "com.process.main.myapplication" minSdkVersion 22 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" externalNativeBuild { cmake { cppFlags "" } } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } externalNativeBuild { cmake { path "CMakeLists.txt" } }}dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.1.1' compile 'com.android.support.constraint:constraint-layout:1.0.0-beta4' testCompile 'junit:junit:4.12'}
主要多了两个地方的改变:
1:defaultConfig中添加:
externalNativeBuild { cmake { cppFlags "" } }
2:在android{}中添加:
externalNativeBuild { cmake { path "CMakeLists.txt" }}
其实也就是引用CmakeLists.txt文件。
现在重点讲讲CmakeLists.txt里面的代码的含义。
以上的CmakeLists.txt对于与图片的目录结构,可以看出主要是add_liberary里写入需要编译的C文件的路径,其余的基本不用修改。
还有就是要是在add_liberary中添加.cpp文件的话记得路径,如果你的CMakeLists和你的.cpp在一个问价夹下就不用管路径。
Android studio 使用Cmake完成C/C++ 的使用以及生成so文件就讲完了。
就这么简单。
阅读全文
0 0
- Android studio 使用Cmake完成C/C++ 的使用以及生成so文件
- Android studio 使用Cmake完成C/C++ 的使用以及生成so文件
- android studio 编译C生成.so文件
- android studio编译c生成.so文件
- android studio 编译C生成.so文件
- android studio NDK使用,编译c生成.so实践记录
- android studio NDK使用,编译c生成.so实践记录
- android studio NDK使用,编译c生成.so实践记录
- Android Studio cmake方式jni开发,在c层使用其它动态链接库*.so
- Android Studio2.2下使用CMake生成so文件
- Android Studio NDK CMake 指定so输出路径以及生成多个so的案例与总结 # 设置so文件生成路径 # set(CMAKE_LIBRARY_OUTPUT_DIRECTORY $
- linux C 生成与使用 so 文件
- Android Studio 使用CMake实现自己的.so库
- android studio 中编译C生成.so文件
- Android Studio JNI cmake 不能生成.so文件
- Android Studio NDK CMake 指定so输出路径以及生成多个so的案例与总结
- Android Studio NDK CMake 指定so输出路径以及生成多个so的案例与总结
- Android studio使用so文件
- eclipse暗黑色配置
- [BZOJ1529]核电站问题
- 基于双网络双光纤FPGA传输卡的资料
- 图论总结
- 向量外积和内积在编程中的应用
- Android studio 使用Cmake完成C/C++ 的使用以及生成so文件
- 将XML Document 转为 Json 字符串输出
- 读书笔记-javascript dom-2
- 判断素数
- C/C++的调用约定详解——stdcall、cdecl、fastcall、thiscall、naked call
- Linux命令笔记
- Stack的实现
- 挑战练习:评分(四)基于Android编程权威指南(第三版)
- Currency Issue