【问题标题】:Getting "cannot locate symbol _Z17rsMatrixTranslateP12rs_matrix4x4fff" using the RenderScript Support Library?使用 RenderScript 支持库获取“无法定位符号 _Z17rsMatrixTranslateP12rs_matrix4x4fff”?
【发布时间】:2014-01-08 16:36:49
【问题描述】:

所以我的应用主要在运行低于 4.4 的任何设备上崩溃,这就是崩溃日志向我报告的内容:

android.support.v8.renderscript.RSRuntimeException: Loading of ScriptC script failed.
at android.support.v8.renderscript.ScriptC.<init>(ScriptC.java:69)
at com.apporio.glitchr.ScriptC_translate.<init>(ScriptC_translate.java:41)
at com.apporio.glitchr.ImageEffects.fastTransform(ImageEffects.java:417)
at com.apporio.glitchr.ImageEffects.doNewVHS(ImageEffects.java:308)
at com.apporio.glitchr.EffectFactory.vhsEffect(EffectFactory.java:70)
at com.apporio.glitchr.EffectFactory.doEffect(EffectFactory.java:28)
at com.apporio.glitchr.EffectActivity$8.run(EffectActivity.java:303)
at java.lang.Thread.run(Thread.java:864)

它在 Java 中崩溃的地方是:

ScriptC_overlay e = new ScriptC_overlay(rs, context.getResources(),
            R.raw.overlay);

rs 文件有这个内核:

void root(const uchar4 *v_in, uchar4 *v_out, const void *usrData, uint32_t x, uint32_t y) {

    rs_matrix4x4 matrix;
    rsMatrixLoadIdentity(&matrix);
    rsMatrixTranslate(&matrix, xAmt, yAmt, 0.0f); //CRASH?

对于我的一生,我无法弄清楚出了什么问题。任何想法,堆栈溢出?感谢您的帮助!

【问题讨论】:

    标签: android renderscript


    【解决方案1】:

    不幸的是,我们在支持库中缺少许多符号。这个错误(和其他缺失的符号)现在在 AOSP 中都已修复,但您必须等待 SDK 更新才能使用它。

    【讨论】:

    • 感谢您的回复!那么,有什么办法可以解决这个错误吗?我讨厌我的应用程序在人们的手机上崩溃,希望在 SDK 更新出来之前我不必取消发布它。
    • 不使用rs_matrix可以写吗?我知道这会跳过一些底层优化(并使您必须编写/维护更多代码),但您可能只需从我们现有的 AOSP 中的 C 实现中删除部分来完成它。
    • 所以我重写了我的脚本,通过基本上重新实现它们来删除缺失符号的出现。它似乎在我运行 4.1-4.4 的 Nexus 设备上工作,但在我的一些用户设备上仍然崩溃。如果我编译 AOSP,有没有办法提取支持库并在我的项目中使用它?如果没有,是否有任何方法可以构建您的团队的修复程序,或者它们还没有面向公众?感谢您的所有帮助!
    • 您有崩溃日志吗?至于在AOSP中重建最新的支持库,是可以做到的。它只是不会轻易地与 Eclipse 等集成(因为我不从事这方面的工作,并且除了使用 Makefile 之外,从未成功地为 Android 构建过任何东西)。如果要重建支持库,可以查看 AOSP。在 frameworks/rs 中有一个 update_rs_prebuilts.sh 脚本。您可以运行它来生成适当的 .so 文件和编译器。那时,您可以将它们放在 Eclipse 可以看到的位置。
    • 感谢所有帮助!我的崩溃报告说:android.support.v8.renderscript.r: Error loading RS jni library: java.lang.UnsatisfiedLinkError: unknown failure at android.support.v8.renderscript.RenderScript.a(Unknown Source) at android.support.v8.renderscript.RenderScript.a(Unknown Source) at android.support.v8.renderscript.RenderScript.a(Unknown Source) ... ... at java.lang.Thread.run(Thread.java:856)我今天会尝试重新编译支持库!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 2010-09-14
    相关资源
    最近更新 更多