一、在新建项目中选择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");}
使用库的方法:
C/C++代码要用规定格式的函数(若是C文件就去掉extern "C" )
#include #include extern "C" JNIEXPORT jstring JNICALLJava_com_example_myapplication_MainActivity_stringFromJNI( JNIEnv* env, jobject ) { std::string hello = "Hello from C++"; return env->NewStringUTF(hello.c_str());}
在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 )
在MainActivity.java文件中先定义用法:
public native String stringFromJNI();
在onCreate函数里面调用C/C++中的代码
// Example of a call to a native methodTextView 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);
来源地址:https://blog.csdn.net/2301_77318278/article/details/131175553