【发布时间】:2016-04-11 02:44:12
【问题描述】:
我的应用需要 Renderscript,因为它会执行一些在 Java 中需要几秒钟的图像处理。在发布之前,我已经在许多设备上进行了测试,甚至是一些旧型号(例如三星 Galaxy Tab 2,API 17),并且该应用程序运行良好,即使在这些设备上也是如此。由此,我没有看到将最低 API 设置为高于 17 的理由。现在,在 Google Play 上发布几周后,我看到该应用程序在某些设备上崩溃,例如具有 API 17 的 Galaxy S3 (m0) 或 Galaxy S3带有 API 18 的 Mini Value Edition (goldenvess3g)。
android.support.v8.renderscript.s: Error loading RS jni library: java.lang.UnsatisfiedLinkError: unknown failure
因此这并不奇怪,因为我知道某些不支持 Renderscript 的处理器类型或其他可能导致问题的设备特定问题。问题:
- 有没有一种(近似的)方法可以找出 API >= 17 的 6'811 台 Android 设备中哪些不支持 Renderscript?例如,基于括号中的术语 (m0, goldenvess3g) 可能与处理器类型有关?如果是这样,我可以在 Google Play 上排除这些设备。
- 如果没有这种可能性,您是否建议将最低 API 设置得更高,例如API 19?听起来很幼稚,但我没有找到一致的信息。
非常感谢您的反馈。
【问题讨论】:
-
如果你的最小 API 是 17,你为什么要使用 RenderScript 支持库?
-
ozbek - 这是一个非常好的问题!不知何故,我一直认为强烈建议使用支持库,这样我就不再仔细检查对它的需求了......但似乎很大一部分不兼容问题正是来自这个事实!真讽刺。请将您的评论放入anwer中,您将获得积分!谢谢。
-
Settembrini - 当您看到此错误时,您使用的是哪个 BuildTools 版本?某些 JellyBean 设备上提供的 RenderScript 支持库存在问题,已在 Build-Tools 23.0.3 中修复。此外,在 API 17 上使用本机 RenderScript 意味着您不能将“renderscriptTargetApi”设置为高于 17,否则您的脚本 (.rs) 将无法正常工作。
-
第 1 阶段:我在 API 17、RS-TargetAPI 18、BuildTools 22.0.1 中看到的这个特定错误。和 support.v8.rs。后来(因为我没有收到对上述帖子的反馈)我更改为最低 API 19,保留其余部分(第 2 阶段)。由于 RS 失败,这仍然给我带来了一些 1 星评价。第 3 阶段:现在我放弃了 support.v8.rs,切换到 BuildTools 23.0.3,同时仍然使用 RS-TargetAPI 18 和最低 API 19。Miao - 你认为现在还好吗?
-
Miao- 给你的后续问题 ;-)。有没有办法过滤掉可能不完全支持 RS 的设备,例如根据上述第 1 点中的括号中的术语? Renderscript 是个好东西,但如果它不起作用,用户会在一秒钟内给你 1 星评级...
标签: android processor renderscript