0

我们在 google play 上有一个应用程序,我们即将发布更新,但是在 JB 设备上测试更新导致在我们的代码中调用 System.loadLibrary("ourlib") 时出现 UnsatisfiedLinkError。ourlib 是我们使用 NDK 编译的库。此错误仅在 4.1 设备上显示。

我怀疑它与 JB 上的新安全性有关,应用程序首先使用 Google Play 安装,比如说版本 1,然后使用 adb 或使用 apk 从设备重新安装版本 2。

我在谷歌上找不到与此相关的任何内容,可能是什么问题?

这个问题 http://code.google.com/p/android/issues/detail?id=35962 看起来很相似,但实际上它似乎是 google play 中的一个错误。

4

2 回答 2

0

这是否意味着您正在尝试使用标准/系统库?也许您尝试加载的库版本包含您打算使用的特定功能。当功能可用或停止可用时检查 android 文档。

于 2012-11-22T18:05:51.730 回答
0

解决方案是使用:

$ adb install -r -l my.apk

这使得使用前向锁定(又名复制保护)重新安装apk,我认为因为apk已升级到google play并启用了复制保护,所以还必须添加adb中的前向锁定选项。我知道 JB 引入了一些带有前向锁定的更改,所以可能就是这种情况。我不知道真正导致这个问题的内部原因,但上面似乎有效。

于 2012-11-28T16:41:35.983 回答