使用NDK(Native Development Kit)可以在Android应用中使用C/C++编写的代码。以下是使用NDK的基本步骤:
1. 安装NDK:在Android Studio中,打开SDK Manager,选择"SDK Tools"选项卡,找到并勾选"NDK (Side by side)",然后点击"Apply"按钮进行安装。
2. 配置项目:在项目的build.gradle文件中,添加以下代码:
```groovy
android {
...
defaultConfig {
...
externalNativeBuild {
cmake {
cppFlags ""
}
}
}
...
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
}
```
3. 创建C/C++代码:在项目的"app"模块下,创建一个名为"cpp"的文件夹,并在其中创建C/C++源文件。例如,创建一个名为"native-lib.cpp"的文件,并添加以下代码:
```cpp
#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());
}
```
4. 创建CMakeLists.txt文件:在"cpp"文件夹中创建一个名为"CMakeLists.txt"的文件,并添加以下代码:
```cmake
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})
```
5. 在MainActivity中调用C/C++代码:在MainActivity的Java代码中,添加以下代码:
```java
public class MainActivity extends AppCompatActivity {
static {
System.loadLibrary("native-lib");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = findViewById(R.id.sample_text);
tv.setText(stringFromJNI());
}
public native String stringFromJNI();
}
```
6. 构建项目:点击Android Studio工具栏中的"Build"按钮,或使用命令行运行"gradlew build"命令,构建项目。
7. 运行应用:点击Android Studio工具栏中的"Run"按钮,或使用命令行运行"gradlew installDebug"命令,将应用安装到设备上并运行。
以上是使用NDK的基本步骤,你可以根据自己的需求进行进一步的配置和开发。