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。java

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

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

相关文章
相关标签/搜索