AS导出so文件

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 = []
}
}
}
}

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×

keyboard_arrow_up 回到顶端