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