Android的so加载函数 System.loadLibrary并不可靠,会有低概率情况出现java.lang.UnsatisfiedLinkError错误,概率低于万分之一。CRASH类似:
java.lang.UnsatisfiedLinkError:Couldn't load XXX from loader dalvik.system.PathClassLoader[DexPathList
一直被这样BUG所困扰,本地无法重现,测试上百台手机也重现不了这样的错误。
据网上查到产生这种BUG的情景可能有硬盘空间不够、升级
在stackoverflow上有人也碰到过这种情况,并给出了解决方法,还没有实际去测过是否可以完美解决这样的问题
这是讨论贴:http://stackoverflow.com/questions/18111739/why-do-some-android-phones-cause-our-app-to-throw-an-java-lang-unsatisfiedlinker
题主后来提供了这样的解决方案:https://medium.com/keepsafe-engineering/the-perils-of-loading-native-libraries-on-android-befa49dce2db#.w7fz8jjrf
并提供了具体的实现工程:https://github.com/KeepSafe/ReLinker