一、问题描述
昨天在AS上集成信鸽推送的时候,一直报.so文件加载失败的错误,然后就研究了一下,才发现原来AS上放.so的目录格式和Eclipse上不一样,囧~~(吐槽一下,信鸽推送的官方demo竟然还是Eclipse,害我直接拷贝了libs文件夹)
二、解决方法
- 方法一
如果直接使用 Android Studio 建立项目,项目结构与 Eclipse 建立的项目结构是不同的:
[module_name]
············[src]
················[main]
····················[jniLibs] ———————.so目录
·····························[armeabi]
·····························[armeabi-v7a]
·····························[x86]
·····························[mips]
所以,使用 Android Studio 建立的项目,直接将 *.so 按上面的目录结构放置就可以了。
- 方法二(推荐)
和Eclipse一样还是将.so放在项目libs的下面,只要把下面的复制到对应Module下build.gradle android节点下就ok了,和下图一样,轻松解决,哈哈^_^
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}