每次更新我的Android应用时,有几个随机客户会收到此异常。我把它缩小到两个原因,都与使用jni有关。
设备报告不表示此问题与操作系统版本,内存或任何合理的问题有关。而不是关注为什么Android在升级库时遇到问题,我希望有人知道如何手动将库从应用程序的APK中拉出来并在遇到此错误时将它们放在正确的目录中。
答案 0 :(得分:2)
好像你可能有一个ABI不匹配 - 或者可能是一个人们一直在谈论的Android bug导致的 false ABI不匹配,其中一个通用的arm库可能不被接受专业品种是首选。
至于你的解决方法......你不能写入应用程序安装的lib /目录,但如果你使用带有精确路径/文件名的System.load()而不是loadLibrary(),你可以将库放在别处。只是一个图书馆名称。我认为从apk中提取任意内容没有任何官方(如未来证明)方式,尽管目前使用zipfile类(使用Context.getPackageCodePath()之类的东西来发现它是相当容易的)位置和安装变量 apk的名称)
检查库加载尝试是否成功,并报告有关设备失败的信息可能同样有用。