在安卓SDK中,NDK是指Native Development Kit,它是一个允许开发者使用C和C++编写本地代码的工具集合。NDK可以与Java代码一起使用,以提高应用程序的性能和访问底层系统功能。
要使用NDK,首先需要在项目中配置NDK环境。以下是一个简单的代码示例,展示如何在安卓项目中使用NDK:
首先,在项目的根目录下创建一个名为"jni"的文件夹。
在"jni"文件夹中创建一个名为"native-lib.cpp"的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());
}
android {
// ...
defaultConfig {
// ...
externalNativeBuild {
cmake {
cppFlags "-frtti -fexceptions" // 添加必要的C++标志
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' // 支持的ABI列表
}
}
}
// ...
externalNativeBuild {
cmake {
path "CMakeLists.txt" // CMakeLists.txt文件的相对路径
}
}
}
cmake_minimum_required(VERSION 3.4.1)
add_library( native-lib SHARED native-lib.cpp )
find_library( log-lib log )
target_link_libraries( native-lib ${log-lib} )
static {
System.loadLibrary("native-lib");
}
public native String stringFromJNI();
这是一个简单的示例,演示了如何在安卓项目中使用NDK。通过使用NDK,你可以使用C和C++编写高性能的本地代码,以满足应用程序的特定需求。