该应用程序退出并显示一条错误消息:
java.lang.UnsatisfIEdlinkError: dlopen Failed: "lib_xyz.so" is 32-bit instead of 64-bit
是否有任何已知的解决方法为这个问题(除了当然,重新编译库,使apk更大)
解决方法 找到一个解释:64位AndroID可以使用32位本地库作为后备,只有在System.loadllibrary()在默认搜索路径中找不到更好的东西.如果强制系统使用完整的库路径使用System.load()加载32位库,则会收到一个UnsatisfIEdlinkError.
所以第一个解决方法是使用System.loadlibrary()而不是System.load().
必须考虑的另外一件事是,库不能混合:回退行为仅适用于您的应用程序加载的第一个库.如果第一个是64位,则不能由同一个应用程序加载32位库,反之亦然.
总结以上是内存溢出为你收集整理的在64位Android上使用32位jni库全部内容,希望文章能够帮你解决在64位Android上使用32位jni库所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)