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

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程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值