android JNI 开发之—导入so库、jar包并调用
本文实现了,在自己的项目中调用第三方的so库、第三方的jar包。本人小白,如有错误,还请各位大佬指出,不胜感激。
-----------------------------------------------------调用so库--------------------------------------------------
实验环境:AS:3.3.1
自己项目的包名:com.example.toolbar
第三方的so库和头文件声明
需要材料:第三方的so库,so库的头文件声明(必须要有声明,要声明即可)
要导入的第三方声明如下,包名是ryd.gyy.cjni,类名是cjni,方法名是getStr
Java_ryd_gyy_cjni_cjni_getStr(JNIEnv *env, jobject instance) { }
导入so库
这里有两种方法导入so库
- 方法一
在main下,新建jniLibs,并将so库复制进去
将目录切换到android,如下,证明导入成功
说明:jniLibs是AS默认加载so库的路径,所以方法一不需要声明 - 方法二
把so文件复制到app/libs目录下,没有lib可以新建一个
在app的build.gradle的android{}中添加
sourceSets { main { jniLibs.srcDirs = ['libs'] } }
说明:这段代码的意思是增加AS搜索so库的一个路径,就是除了jniLibs,AS还会从app/libs中搜索so库
创建调用so库的jni文件
在java下创建一个和我们项目同级的包名(ryd.gyy.cjni),继续在创建的包名下新建cjni.java,并在其中声明native方法和静态库
调用so库中的方法
//调用so库中的方法 message = (TextView) findViewById(R.id.message); message.setText("so库中的内容:" + cjni.getStr());
运行一下,成功
-----------------------------------------------------导入第三方jar包--------------------------------------------------
导入jar包到app/lib
如图,将jar包放到app/lib下
然后执行下图,选择导入的module,比如app,点击OK
最后查看app下的build.gradle,有implementation,这样就成功了
作者:鸣人的修炼场
出处:https://blog.csdn.net/baidu_33693586
参考教程:
Android Studio导入第三方库、依赖jar包、so文件的几种方式手把手教学
Android Studio JNI开发-1-引入第三方so文件
- Android NDK——使用Android Studio引用so库,jar包、module以及导入Eclipse项目并使用JNI的正确姿势
- AndroidStudio JNI开发:生成可调用jar
- [原创]Android 基于NDK的JNI开发 C调用java和java调用C的进阶教程
- 【学习Android NDK开发】Java通过JNI调用native方法
- Android实战技巧之十二:Android Studio导入第三方类库、jar包和so库
- 【iOS-cocos2d-X 游戏开发之十三】cocos2dx通过Jni调用Android的Java层代码(上)
- Android Studio NDK开发 正确调用jni 及加入第三方so库需要注意的问题
- android开发-c++代码调用so库
- Android的NDK开发(1)————Android JNI简介与调用流程
- 【转】Android开发:安装NDK,移植OpenCV2.3.1,JNI调用OpenCV全过程
- Android的NDK开发(1)————Android JNI简介与调用流程
- Android-项目开发基础—JNI与底层调用(十三)
- Android实战技巧之十二:Android Studio导入第三方类库、jar包和so库
- AndroidStudio2.2.3 JNI与NDK开发之二:生成可调用jar包
- android开发ndk调用第三方so库
- Android 基于NDK的JNI开发 C调用java和java调用C的进阶教程
- Android的NDK开发(1)————Android JNI简介与调用流程
- Android的NDK开发(1)————Android JNI简介与调用流程
- android开发之Android Studio简介及导入jar包和第三方开源库方法