一、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来声明
}

本文介绍了如何在Android平台上使用JNI调用FFmpeg库。首先讲解了JNI的基本概念,接着通过Android Studio创建示例工程,展示了Java和C/C++代码的编写。然后详细阐述了将FFmpeg的so库和头文件导入到Android工程中的步骤,包括修改CMakeLists.txt文件。最后,修复了在编译过程中遇到的错误,成功实现了JNI对FFmpeg的调用。
最低0.47元/天 解锁文章

785

被折叠的 条评论
为什么被折叠?



