1. 无关紧要的话
事情的起因是项目有地理编码需求,于是下了百度地图的相关jar和so文件。本来在测试程序中直接把jar和so文件拷到相应目录下就可以了,但是将代码整合到项目里面时,发现死活没法定位。把百度地图开发需要的配置又搞了一遍,demo又研究了几遍,就是没发现问题。快急哭的时候,不经意间点开了libs/armeabi这个文件夹,才发现直接拷进去的so库都没了!原来,我们那个项目需要编写JNI接口,用NDK来编译C/C++代码生成so库,而NDK在build的时候会先把libs/armeabi清空,再重新生成so库。如果libs/armeabi有第三方库的话,(比如这次拷进去的百度地图LBS相关的库)这些第三方库就会被清掉。衰!
2. 解决办法
编写Android.mk文件,让NDK在build的时候去找第三方库,把它拷到libs/armeabi目录下。
网上找了一通,发现好些博文都说在jni目录下新建prebuilt目录,再把第三方库拷进prebuilt目录下,并且在prebuilt目录下新建并编写Android.mk&#