JNI基础(1): 项目创建和目录结构

2022-01-09  本文已影响0人  MemetGhini

1.1 自带的工程选项创建

依次点击 Android Studio > New Project > Phone and Tablet > Native C++。
java代码在java文件目录,主要是从native层获取一个字符串并显示出来,c++ 代码在 cpp 文件目录。
跟普通安卓项目比会有一下几点区别:

externalNativeBuild {
    cmake {
        path file('src/main/cpp/CMakeLists.txt')
        version '3.18.1'
    }
}
 defaultConfig {
    ...
    externalNativeBuild {
        cmake {
            cppFlags '-std=c++11'
        }
        ndk {
            abiFilters "x86", "armeabi-v7a", "arm64-v8a"
        }
    }
}

1.2 为已有项目添加NDK编译

为已有项目添加NDK编译选项其实也就是上面两个配置。如果不需要设定额外参数只需在模块的build.gradle > android {} 中添加如下即可。

externalNativeBuild {
    cmake {
        path file('src/main/cpp/CMakeLists.txt')
        version '3.18.1'
    }
}

并把c/c++和CMakeLists.txt文件放到指定目录。推荐放在跟java同级目录中新建cpp目录。
为已有项目配置NDK编译后由于有之前的项目缓存,所以很大概率会出现找不到libxxx.so或者jni方法实现的问题。此时可以通过如下方法把缓存清理干净然后重新编译

上一篇 下一篇

猜你喜欢

热点阅读