我尝试使用SDK Build Tools 22.0.0中的v8 Renderscript支持库。
我使用gradle构建,并且我已经包含了这些行
defaultConfig {
renderscriptTargetApi 21
renderscriptSupportModeEnabled true
}
导入和使用库似乎很好,但是当我运行我的应用程序时,它会阻止尝试加载另一个共享库,从而产生UnsatisfiedLinkError。如果除了删除renderscript之外我没有做任何其他更改,那么就没有链接问题。
这周围有吗?我使用的是SDK工具22.0.0,gradle 2.2.1,Android Gradle插件1.1.0和Android Studio 1.1.0。
答案 0 :(得分:2)
我发生的事情是,当我在64位设备上运行时,PathClassLoader
在64位版本中找到了renderscript库,因此尝试加载项目中包含的所有其他库的64位版本。你不能运行混合64和32位。但由于某些库在64位版本中不存在,PathClassLoader
无法找到它们,因此UnsatisfiedLinkError
。对我有用的解决方案是排除64位版本的renderscript库。
看到这篇伟大的文章,看看它是如何完成的。 Mixing 32- and 64-bit Dependencies in Android
这Stackoverflow post提出了一个更简单的解决方案