androidStudio3.5版本在项目中调用C/C++

Android开发主流工具已变成AndroidStudio,新版AS已经支持CMake编译工具,可以用于编译C/C++文件,增强了Android调用jni代码的便捷性。相比于之前繁杂的ndk配置方式,cmake较为简单方便。

本文使用androidStudio3.5

1.环境配置

    在SDK Tools里选择 CMAKE/LLDB/NDK点击OK 安装这些插件.

androidStudio3.5版本在项目中调用C/C++_第1张图片

 

2.建立CMakeLists.txt文件

  在Project 目录下,右键app,点击新建File文件,命名为CMakeLists.txt,并配置文件

  在CMakeLists.txt文件里添加如下代码(具体含义自行百度):以下为我添加的

androidStudio3.5版本在项目中调用C/C++_第2张图片

3.创建一个新类

在想要目录里创建一个新类Test_lib.java

androidStudio3.5版本在项目中调用C/C++_第3张图片

在此类中添加代码

package com.driss.myjnitext;

public class Test_lib {
    static {
        System.loadLibrary("test_lib");
    }
    public static native String getStr(String str);

}

4、在main下面创建jni目录,创建test_lib.c文件,名字必须与CMakeLists.txt文件的源文件所在目录一致,里面可以暂时不添加任何东西

5、右键app,点击Link C++Project with Gradle

显示如下,选择CMakeLists.txt文件所在路径,点击ok

androidStudio3.5版本在项目中调用C/C++_第4张图片

构建完后会自动生成一些配置,如图所示

androidStudio3.5版本在项目中调用C/C++_第5张图片

6、回到Test_lib.java文件,选中getStr(),按下Alt+Enter,点击Create function...如下图所示

 

androidStudio3.5版本在项目中调用C/C++_第6张图片

此时会在test_lib.c文件里自动生成C/C++函数,接着在.c文件里编写C/C++接口函数了。

7、然后Make Project成功后,会在如下目录生成.so文件,此时.so库生成成功,可随时调用

androidStudio3.5版本在项目中调用C/C++_第7张图片

 

8、在其他类中调用C/C++函数

androidStudio3.5版本在项目中调用C/C++_第8张图片

现在使用CMake比传统的jni调用方式要方便很多了

 

 

你可能感兴趣的:(android)