参考文档:
http://blog.csdn.net/vhawk/article/details/49964475 解决bug的主要方法
http://www.blogjava.net/miaoyachun/archive/2012/12/06/392529.html 打印包路径
上周,在做一个关于视频的内容.然后发现维他蜜有一个录制的demo很适合我用.于是顺手拿过来用.
在移植的过程的时候听顺利,也没发现什么错误.
然后再多台机测试的时候,居然出现闪退.这不能忍啊.
看log日志.出现了UnsatisfiedLinkError 错误.这个错误实在没碰过.因为之前都没碰过.so文件.
作为一个渣渣,老老实实的去某度.发现一篇好像很有用的文章:http://blog.csdn.net/acm2008/article/details/41040015
当时以为问题找到了.然后兴高采烈的去学jni.重新编译.mk..学了两天.结果.呵呵.
今天,在绝望的时候.找到一篇文章,打印包路径.System.getProperty("java.library.path")
结果还真发现了问题:
/vendor/lib:/system/lib -- 这是能正常运行的手机包路径
/vendor/lib64:/system/lib64---不能正常运行的某米包路径
诶.居然是64位.那我就把.so文件CV一遍.
问题又出现了:
这又蒙了.不过幸好看懂,不就是机子64位不能装32位嘛.然后就某度.
哈哈哈.第一篇文章就是.解决办法是:
在build.gradle中加:
defaultConfig { ...... ndk { abiFilters "armeabi", "armeabi-v7a", "x86", "mips" } }
直接sycn now会报错,还要在gradle.properties文件中加上android.useDeprecatedNdk=true;再运行.ok!
http://www.blogjava.net/miaoyachun/archive/2012/12/06/392529.html