今天学习了下JNi;
总结一下吧,网上的没有Android的;
1 : 第一种直接是建立Jni文件的形式,调用C语言函数;
2 : 第二种是建立模块,类似于集成的形式,调用;
步骤:
1 :通过native建立.h文件;
命令: 在/main/java javah com.example.xxx.MainActivity;
2 : 通过.h文件函数,新建jni目录,建立.c文件;
3:建立Android.mk文件;
4 :引入jin.h头文件;
5 :生成.so文件
命令 在/main/jin ndk-build
注意事项:
1 : 在gradle.properties配置 android.useDeprecatedNdk=true;
2 :当生成.so文件时,出现findlibary is null的错误;
百度地图等.so都是放在jnilibs下的,我放在了libs目录下,导致找不到;
解决办法:
sourceSets {
main {
res.srcDirs = ['src/main/res']
assets.srcDirs = ['src/main/assets']
manifest.srcFile 'src/main/AndroidManifest.xml'
jni.srcDirs = []
jniLibs.srcDirs = ['src/main/libs']
}
}