android JNI编译注意事项

今天在android源码环境下编出来了一个.so包,直接放到lib文件夹下面的armeabi下面,在java层调用,结果一直报library=null的错误。后来将so包名前面加了lib后重新运行,一切OK.原来通过JNI的方式调so时so包名前面必须要加lib,否则找不到。android源码环境下编译so包,编出来的.so的包前面不会自动给添加lib,NDK编译会自动给添加lib,即使Android.mk文件里面LOCAL_MODULE :=名字前面没有lib,NDK也会自动给你添加lib. 所以NDK编译时Android.mk文件编译出来的so包名字可以加lib也可不加.(注意划线部分说法错误,ndk-build时也不一定会在生成的so包前面添加lib)在源码环境下编译用于JNI一定要加lib。

PS:可以没有jni文件夹,直接使用so包在java层调用。

谨此铭记!!!!!!!!!!!!!!!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值