Android(安卓)Studio—— jni初体验(一)
16lz
2021-01-24
Android 中使用JNI是干啥的?
具体原理不是很清楚,只知道JNI允许Java语言和c/c++语言进行交互。
项目当中如何实现?
1> 使用源码
2> 使用.so库
项目中如何使用源码?
1.1:在main目录下创建 jni folder
1.2:src目录下创建实现native方法的类
1.3:需要配置Ndk,File --> Project Structure --> Android Ndk Location中选择Ndk路径,解压选择到ndk-bundle目录
1.4:选择Build-->ReBuild Project后,在build -->intermediates --> classes --> debug 中找到.h头文件并拷贝到已创建的jni文件夹下
1.5:已创建好的jni文件夹下新建.c文件include 头文件,实现native方法,注意方法名是以 Java_包名_类名_方法名这样命名的,不可有误,否则找不到此方法
1.6:打开app下的gradle文件,defaultConfig下添加ndk{moduleName "so库名字" abiFilters "armeabi"..}
1.7: gradle.properties 文件中添加 android.useDeprecatedNdk=true
1.8: Activity中使用时,需要先加载 static{System.loadLibrary("so库名字");} 后再调用
项目中如何使用so库
2.1:so库也是源码编译生成,将so库导入到libs下对应的类型中,gradle文件中进行配置:
ndk{ abiFilters "armeabi"}
2.2:src目录下创建实现native方法的类
2.3:Activity中使用时同上需要先加载
根据以上步骤,已实现与c语言交互的功能
因是初次使用,有问题的地方希望多包含并讨论。
更多相关文章
- Android界面绘制_canvas解析
- Android资源文件分析
- Activity的生命周期,状态保存,窗口显示,取得返回结果,安全退出
- Android(安卓)事件传递机制实测
- Android(安卓)Studio解决依赖文件冲突
- Android(安卓)有关横竖屏
- Linux Deploy:在Android上部署Linux
- android 处理生命周期事件
- Android振动系统学习