JNI——调用C或C++代码
JNI即JavaNativeInterface,其实就只是一个用于与C/C++代码交互的一个接口,在实际使用过程中只需要在方法名前加上native
关键字修饰。本文将从Android开发的角度阐述JNI的一些基本概念和使用。
创建第一个C/C++的App
在AndroidStudio中创建应用时选择Native C++ Project
待Project初始化完成后会自动生成一个JNI调用例子。
public class MainActivity extends AppCompatActivity {
// Used to load the 'native-lib' library on application startup.
static {
System.loadLibrary("native-lib");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Example of a call to a native method
TextView tv = findViewById(R.id.sample_text);
tv.setText(stringFromJNI());
}
/**
* A native m