一、JNI介绍
jni是java提供的一种java、c/c++能够互相调用的一种机制,Android Studio对此提供了很好的支持。
可以在创建Android project的时候,勾选【Include C++ support】,然后一路Next可以创建Sample工程。
二、JNI Sample工程分析
Java文件:
package com.example.bangl.jnitest;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
// Used to load the 'native-lib' library on application startup.
static {
System.loadLibrary("native-lib"); //加载动态库,so里是要调用的c/c++接口实现
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Example of a call to a native method
TextView tv = (TextView) findViewById(R.id.sample_text);
tv.setText(stringFromJNI());
}
/**
* A native method that is implemented by the 'native-lib' native library,
* which is packaged with this application.
*/
public native String stringFromJNI(); //navie方法,以关键字navite来声明
}