最近开始转android Studio 本来以为新的开发工具会大大的提高效率 。结果我错了。今天踩了一天的坑。
我的项目中用到了so的文件。通常情况下在 eclipse中我们在libs/armeabi 这个目录下放so文件。一般情况下 都可以加载的到。
但是,刚换到AS 我也是这样做的。把so 文件放到 libs/armeabi 这个目录下。同时也在 app的gradle 文件中配置了如下的信息:
sourceSets { main { jniLibs.srcDirs = [‘libs‘] } }
run起来 就开始进入 java.lang.UnsatisfiedLinkError 这个错误的泥潭了 。TMD 搞了一天 。
通过各种搜索去解决这个问题 。
一般常见的解决方式都是上边的那种配置,所以让我很郁闷。为什么我的不行?!!!
最后实在没办法就创建了一个新的工程去尝试,首先是验证了上边的那种方式可行。
当然我尝试了不止这一种方式你可以可以尝试在你的main目录下 新建一个jniLibs目然后把armeabi 这个目录以及目录下所有的so都放进去。
结构就类似下图了
这种结构了。这是正确的结构 ,但我的还是不行 经过排查发现是因为我用到了一个开源的项目导致的。
realm-java这个开源的项目会导致。
所以当你遇到这种莫名奇妙的问题的时候实在无头绪解决的时候那么就先排查下你导入的工程是不是有问题。
16年小记录
时间: 2024-10-23 07:26:09