一、在新建项目中选择Native C++,然后下一步

二、名字跟保存位置自定义,语言选择Java,SDK根据app安装的平台选择对应的版本,选好后下一步

 三、C++ Standard默认选择就可以,点击完成

 四、加载完成后,把项目标题Android换成项目

 换完后的列表

 

 C/C++的代码在cpp文件夹中,在MainActivity.java文件中有一些使用示例。

 五、点击运行,查看运行效果

 代码使用的简单说明:

Android studio 使用C/C++代码开发app是把C/C++的代码当成库使用,在MainActivity.java文件中必须要加载C/C++代码库

// Used to load the 'myapplication' library on application startup.

static {

System.loadLibrary("myapplication");

}

使用库的方法:

1.C/C++代码要用规定格式的函数(若是C文件就去掉extern "C" )

#include

#include

extern "C" JNIEXPORT jstring JNICALL

Java_com_example_myapplication_MainActivity_stringFromJNI(

JNIEnv* env,

jobject /* this */) {

std::string hello = "Hello from C++";

return env->NewStringUTF(hello.c_str());

}

2.在CMakeLists.txt文件中添加C/C++文件

add_library( # Sets the name of the library.

myapplication

# Sets the library as a shared library.

SHARED

# Provides a relative path to your source file(s).

native-lib.cpp )

3.在MainActivity.java文件中先定义用法:

public native String stringFromJNI();

4.在onCreate函数里面调用C/C++中的代码

// Example of a call to a native method

TextView tv = binding.sampleText;

tv.setText(stringFromJNI());

如果有自己新增的C/C++文件和.h头文件,需要在CMakeLists.txt文件中添加

# 头文件位置

include_directories(src/main/cpp/)

C/C++文件调用Java

#include

JNIEnv* env=NULL;

jobject obj = NULL;

Java_com_example_myapplication_MainActivity_stringFromJNI(env,obj);

文章来源

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: