Android Studio Cmake配置项
来源:互联网 发布:tcl电视观看网络电视 编辑:程序博客网 时间:2024/04/29 19:13
Cmake的配置
Android Studio 2.2以上支持了Cmake的配置JNI的相关参数,简化了通过Android.mk配置。并很好的继承了C++的编辑方式。以下是对应的引入第三方so和第三方.cpp文件的路径脚本编写。对应于:CMakeLists.txt
#定义变量ProjectRoot为工程根目录,用相对路径没通过编译,可能是路径写错,以后再试#本次使用绝对路径作为参数set(Project D:/GitHub/EchoCancellation)#动态方式加载 speex是libxxxx.so的xxxx部分add_library(speex SHARED IMPORTED)#设置要连接的so的相对路径,${ANDROID_ABI}表示so文件的ABI类型的路径,这一步引入了动态加入编译的soset_target_properties(speex PROPERTIES IMPORTED_LOCATION ${Project}/app/src/main/jni/${ANDROID_ABI}/libspeex.so)#配置加载native依赖#include_directories( ${Project}/app/src/main/jni/include )#将native-lib加入到编译源中add_library( # Sets the name of the library. native-lib SHARED src/main/cpp/native-lib.cpp )find_library( # Sets the name of the path variable. log-lib log )#这里多出了引用的speextarget_link_libraries( # Specifies the target library. native-lib speex # Links the target library to the log library # included in the NDK. ${log-lib} )
build.gradle的配置
此处配置主要是我们写的JNI层的代码,可以通过编译为SO文件,被我们的项目引用。生成的so,在你对应项目的build中进行查找。
android { compileSdkVersion 25 buildToolsVersion "25.0.1" defaultConfig { minSdkVersion 15 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" externalNativeBuild { cmake { cppFlags "-std=c++11 -frtti -fexceptions"// moduleName "netContent" abiFilters 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'mips', 'mips64' } } sourceSets { main { jniLibs.srcDirs = ['D:\\progress\\FaqRobotSdk_v2\\sdk_v2\\src\\main\\jniLibs'] } } } signingConfigs { release { storeFile file('debug.jks') storePassword "houshuai" keyAlias "houshuai" keyPassword "houshuai" } debug { storeFile file('debug.jks') storePassword "houshuai" keyAlias "houshuai" keyPassword "houshuai" } } buildTypes { release { // 不显示Log buildConfigField "boolean", "LOG_DEBUG", "false" //混淆 minifyEnabled false //Zipalign优化 zipAlignEnabled false // 移除无用的resource文件 shrinkResources false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release // 签名配置 } debug { buildConfigField "boolean", "LOG_DEBUG", "true" minifyEnabled false zipAlignEnabled false shrinkResources false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.debug } } externalNativeBuild { cmake { path 'CMakeLists.txt' } }}
0 0
- Android Studio Cmake配置项
- android studio cmake 配置.a连接库
- android studio cmake配置opencv3.2.0
- Android Studio配置CMake开发NDK
- android studio cmake 配置.a连接库
- Android Studio快捷键、配置 Android Studio、cmake配置Android原生项目、cmake命令
- android studio 使用CMAKE
- Android studio CMake (一)
- Android Studio CMake (二)
- Android studio ndk配置cmake开发native C
- Android Studio使用cmake配置c++开发Admob
- Android Studio 2.3.3 32位 win7 cmake的配置
- android studio cmake 编译 ndk 代码 项目配置
- Android studio下Cmake配置编译开发jni总结
- Android Studio Opengl Cmake 配置 编译 jni c++ 调用opengl
- Android studio cMake 使用详解
- Android Studio 2.2 CMake opencv
- Android studio cmake报错
- Iterator(迭代器)的简单使用
- JS动态修改页面EasyUI datebox不生效、EasyUI动态添加Class、EasyUI动态渲染解析解决方案
- 排序算法--冒泡排序
- 【Java8】date api(java.time)
- jquery插件——cookie
- Android Studio Cmake配置项
- Python2还是Python3?
- JAVA面向对象
- 基于Dom的C++解析html
- java实现线程安全的队列
- Ubuntu 1404 LTS 下 caffe 的安装
- JavaSE 学习参考:File文件类(3)
- 1003. Emergency (25)
- vim的配置(如何配置vim)