1.新建java类Test.java,在类中声明一个native方法
1 2 3
| static { System.loadLibrary("jnitest"); }
|
2.进入到类所在文件夹javac Test.java 生成Test.class
3.返回到java目录 javah -jni com.example.jnitest.Test 生成com_example_jnitest_Test.h
4.新建com_example_jnitest_Test.c,把.h里的内容拷过去,写里面的方法
5.在build.gradle添加
1 2 3 4 5
| ndk { moduleName "sffstreamer" ldLibs "log", "z", "m" abiFilters "armeabi", "armeabi-v7a", "x86" }
|
还有
1 2 3 4 5
| sourceSets { main { jni.srcDirs = [] } }
|
Build.gradle文件如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| android { compileSdkVersion 24 buildToolsVersion "25.0.2" defaultConfig { applicationId "com.ishow3d.ffmpegjni" minSdkVersion 15 targetSdkVersion 24 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
ndk { moduleName "sffstreamer" ldLibs "log", "z", "m" abiFilters "armeabi", "armeabi-v7a", "x86" } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } sourceSets { main { jni.srcDirs = [] } } } }
|