您的位置:首页 > 移动开发 > Android开发

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

2013-10-24 21:49 447 查看

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

以及发生的异常解决方法

总步骤1、安装NDK



总步骤2、安装cygdrive

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

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

can't load transform_config.xml
Exception 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程序

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐