androidstudio cmake指定so文件输出目录
2017-08-04 10:33
1356 查看
使用cmake来编译jni代码,找不到so文件在哪里。虽然打包的时候会把so文件打包进去。
下面来配置CMakeLists.txt文件指定jniLibs为so文件输出目录。
下面来配置CMakeLists.txt文件指定jniLibs为so文件输出目录。
# For more information about using CMake with Android Studio, read the # documentation: https://d.android.com/studio/projects/add-native-code.html # Sets the minimum version of CMake required to build the native library. cmake_minimum_required(VERSION 3.4.1) # Creates and names a library, sets it as either STATIC # or SHARED, and provides the relative paths to its source code. # You can define multiple libraries, and CMake builds them for you. # Gradle automatically packages shared libraries with your APK. #设置生成的so动态库最后输出的路径 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/../app/src/main/jniLibs/${ANDROID_ABI}) add_library( # Sets the name of the library. hello # Sets the library as a shared library. SHARED # Provides a relative path to your source file(s). src/main/jni/hello.c ) # Searches for a specified prebuilt library and stores the path as a # variable. Because CMake includes system libraries in the search path by # default, you only need to specify the name of the public NDK library # you want to add. CMake verifies that the library exists before # completing its build. find_library( # Sets the name of the path variable. log-lib # Specifies the name of the NDK library that # you want CMake to locate. log ) # Specifies libraries CMake should link to your target library. You # can link multiple libraries, such as libraries you define in this # build script, prebuilt third-party libraries, or system libraries. target_link_libraries( # Specifies the target library. hello # Links the target library to the log library # included in the NDK. ${log-lib} ) 由这个决定输出目录: set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/../app/src/main/jniLibs/${ANDROID_ABI}) 它将会把生成的so库按照你在 build.gradle 指定的 abi分别放置在 jniLibs下 defaultConfig { applicationId "com.example.administrator.myapplication" minSdkVersion 15 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" externalNativeBuild { cmake { cppFlags "" } } ndk { // Specifies the ABI configurations of your native // libraries Gradle should build and package with your APK. abiFilters 'armeabi' }
相关文章推荐
- Android Studio NDK CMake 指定so输出路径以及生成多个so的案例与总结 # 设置so文件生成路径 # set(CMAKE_LIBRARY_OUTPUT_DIRECTORY $
- Android Studio NDK CMake 指定so输出路径以及生成多个so的案例与总结
- AndroidStudio2.2中NDK开发之CMake和传统 JNI在目录结构和配置文件上的区别
- Android Studio JNI cmake 不能生成.so文件
- AndroidStudio打包so文件解决办法
- Android 将文件复制到指定目录
- Linux C :遍历输出指定目录下的所有文件
- android 获取指定路径下所有文件,将文件从一个目录copy到另一个目录,执行linux命令
- 如何查看某个指定目录下的所有文件,只要显示其文件名,并把它输出
- Android遍历获取指定目录的文件
- Android扫描指定文件和目录
- makefile依赖文件和输出文件到指定目录
- Android studio NDK 配置编译本地库(so文件)
- Linux C :遍历输出指定目录下的所有文件, 及st_mode判断文件类型
- java创建目录+文本文件+输出文本到指定文件
- android删除指定目录下文件及目录
- Linux C :遍历输出指定目录下的所有文件
- Android复制Assets目录下的文件到指定目录
- linux加载指定目录的so文件
- 我的Android进阶之旅------>Android使用正则表达式匹配扫描指定目录下的所有媒体文件(音乐、图像、视频文件)