android调用jni方法生成的so库函数的过程&发生的异常解决方法(持续更新)

来源:互联网 发布:面纱3.0雾化器口感数据 编辑:程序博客网 时间:2024/06/02 12:02

android调用jni方法生成的so库函数的过程

以及发生的异常解决方法

总步骤1、安装NDK


总步骤2、安装cygdrive

总步骤3、写好java文件中本地函数的声明以及调用so文件的文件名

3.1由于so库名写错导致异常

can't load transform_config.xmlException Ljava/lang/UnsatisfiedLinkerror; thrown while initializing Lom/example/sqlite_test/JniCall;
遇到这个异常,很可能是因为你的
static{System.loadLibrary("SQLite_test");}
代码中的so文件名字写错了。因为在ndk-build命令执行之后会生成一个<lib+项目命+.so>的文件,之前误以为这里需要写全名而吃了亏,折腾了一个小时才发现,需要去掉lib和后缀。否则会找不到库中函数,导致无法链接。

总步骤4、使用javah.exe生成头文件

总步骤5、用C编写对应的.c文件和mk文件

总步骤6、在cygdrive下使用ndk-build命令生成so文件

总步骤7、运行android程序

原创粉丝点击