java.lang.UnsatisfiedLinkError低概率出错解决方案

        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

你可能感兴趣的:(loadlibrary,PathClassloader,DexPathList,低概率)