zoukankan      html  css  js  c++  java
  • android jni相关

    https://blog.csdn.net/zeqiao/article/details/77893167

    一、在原有旧项目中引入

    1.新建C/C++源码文件夹和文件

      main>>cpp 文件夹下加源码

    2.编写CMakeLists.txt文件

    # 设置构建本机库文件所需的CMake的最小版本
    cmake_minimum_required(VERSION 3.4.1)
    #添加自己写的C/C++源文件
    add_library( demo-lib
                 SHARED
                 src/main/cpp/demo-lib.cpp )
    #依赖NDK中的库
    find_library( log-lib
                  log )
    #将目标库与NDK中的库进行连接
    target_link_libraries( demo-lib
                           ${log-lib} )                   
    

    3.配置build.gradle文件

    android {
        ...
        defaultConfig {
            ...
            externalNativeBuild {
                cmake {
                    // 默认是 “ cppFlags "" ”
                    // 如果要修改 Customize C++ Support 部分,可在这里加入
                    cppFlags "-frtti -fexceptions"
                }
            }
        }
        buildTypes {
            ...
        }
        externalNativeBuild {
            cmake {
                path "CMakeLists.txt"
            }
        }
    }
    
    dependencies {
        ...
    }
    

    注意点:①要在哪个类运用 JNI,就得加载相应的动态库.  ②快速生成代码:Alt+Enter  ③新建 C/C++ 源代码文件,要添加到 CMakeLists.txt 文件中

    
    

     CMakeLists.txt

    cmake_minimum_required(VERSION 3.4.1)
    
    #设置生成的so动态库最后输出的路径
    set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/../jniLibs/${ANDROID_ABI})
    add_library( # Sets the name of the library.
                 native-lib
    
                 # Sets the library as a shared library.
                 SHARED
    
                 # Provides a relative path to your source file(s).
                 src/main/cpp/native-lib.cpp )
    
    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 )
    
    target_link_libraries( # Specifies the target library.
                           native-lib
    
                           # Links the target library to the log library
                           # included in the NDK.
                           ${log-lib} )
    

      

  • 相关阅读:
    设置cookie,读取cookie案例
    npm常用命令及版本号浅析
    nrm安装与使用
    ES6解构赋值
    nodemon 基本配置与使用
    nodejs开发辅助工具nodemon
    Node自动重启工具 nodemon
    深入浅出Object.defineProperty()
    js原生缓慢返回顶部函数封装
    The linux command 之权限
  • 原文地址:https://www.cnblogs.com/mathyk/p/9405279.html
Copyright © 2011-2022 走看看