今天搞jpush,以前都是eclipse编写,这次换成了AS,但是运行的时候说.so文件找不到,然后没有办法初始化成功。百度了很多方法,很多都是copy,然后估计都没有自己测试,
他们说创建jniLibs文件夹,然后把.so文件copy过去,然后在 app的 build.gradle里面添加如下代码
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
连续N个都是这个,但是,我想说,不知道是因为你们的AS版本低还是你们就是单纯的copy,这个方法我用了,根本没有用好吗。我的AS版本是2.1 preview5.
创建单独的jniLibs文件夹这个是正确的,关键是下面那句代码,我觉得编程的人仔细看一遍应该都可以明白,他的意思是,我引用的路径或者是我引用的文件夹是['名称'],所以我们创建了jniLibs文件夹那么,我们后面那个根本就不是libs,而是jniLibs。所以正确的代码片段应该是
sourceSets {
main {
jniLibs.srcDirs = ['jniLibs']
}
}
还有就是如果你不想创建单独的文件夹,使用eclipse使用习惯了,那么你可以吧.jar和.so文件统统放到libs里面,然后代码片段就可以是第一个了。
吐槽结束。真心希望测试过代码后再来发博客,很误导人的好不好,尤其是误导新人。但是这个好像还是普遍的通病。烦