web-dev-qa-db-ja.com

AndroidXでRenderscriptが壊れていますか?

Androidxに移行したので、Renderscriptを実行できません。次の例外が発生します:

2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64:Java_vm_ext.cc:504]アプリケーションでのJNI検出エラー:保留中の例外Java.lang.ClassNotFoundExceptionでJNI NewGlobalRefが呼び出されました:行われませんでしたパスでクラス「Android.support.v8.renderscript.RenderScript」を見つけます:DexPathList [[Zip file "/data/app/pl.qus.xenoamp2-xHJAddeg9oM-uGSxlvMp7A==/base.apk"],nativeLibraryDirectories=[/data /app/pl.qus.xenoamp2-xHJAddeg9oM-uGSxlvMp7A==/lib/arm64、/data/app/pl.qus.xenoamp2-xHJAddeg9oM-uGSxlvMp7A==/base.apk!/lib/arm64-v8a、/system/ lib64、/ system/vendor/lib64]] 2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64:Java_vm_ext.cc:504] at Java.lang.Class dalvik.system.BaseDexClassLoader .findClass(Java.lang.String)(BaseDexClassLoader.Java:93)2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64:Java_vm_ext.cc:504] Java.langで。クラスJava.lang.ClassLoader.loadClass(Java.lang.String、boolean)(ClassLoader.Java:379)2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote6 4:Java_vm_ext.cc:504] at Java.lang.Class Java.lang.ClassLoader.loadClass(Java.lang.String)(ClassLoader.Java:312)2018-10-12 16:27:58.328 27195-27195/pl .qus.xenoamp2 A/zygote64:Java_vm_ext.cc:504] at Java.lang.String Java.lang.Runtime.nativeLoad(Java.lang.String、Java.lang.ClassLoader、Java.lang.String)(Runtime.Java :-2)2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64:Java_vm_ext.cc:504] at Java.lang.String Java.lang.Runtime.doLoad(Java.lang .String、Java.lang.ClassLoader)(Runtime.Java:1099)2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64:Java_vm_ext.cc:504] void Java.lang .Runtime.loadLibrary0(Java.lang.ClassLoader、Java.lang.String)(Runtime.Java:1014)2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64:Java_vm_ext.cc :504] at void Java.lang.System.loadLibrary(Java.lang.String)(System.Java:1657)2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64:Java_vm_ext .cc:504] androidx.renderscript.RenderScript androidx.renderscript .RenderScript.internalCreate(Android.content.Context、int、androidx.renderscript.RenderScript $ ContextType、int)(RenderScript.Java:1408)2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64:Java_vm_ext.cc:504] at androidx.renderscript.RenderScript androidx.renderscript.RenderScript.create(Android.content.Context、int、androidx.renderscript.RenderScript $ ContextType、int)(RenderScript.Java:1599)2018- 10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64:Java_vm_ext.cc:504] at androidx.renderscript.RenderScript androidx.renderscript.RenderScript.create(Android.content.Context、androidx.renderscript .RenderScript $ ContextType、int)(RenderScript.Java:1549)2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64:Java_vm_ext.cc:504] at androidx.renderscript.RenderScript androidx .renderscript.RenderScript.create(Android.content.Context、androidx.renderscript.RenderScript $ ContextType)(RenderScript.Java:1525)2018-10-12 16:27:58.328 27195-27195/pl.qus.xenoamp2 A/zygote64 :Java_vm_ext.cc:504] at androidx.renderscript.RenderScript androidx.renderscript.RenderScript.create(Android.content.Context)(RenderScript.Java:1512)

私はgradleに通常のエントリがあります:

    renderscriptTargetApi 18
    renderscriptSupportModeEnabled true

他に変更しなければならないことはありますか?

12
ssuukk

同じ問題がありましたが、サポートされていないバージョンのレンダースクリプトに切り替えました

プロジェクトグラドル

renderscriptTargetApi 17
renderscriptSupportModeEnabled false

そしてrenderscriptを使用するクラスで

import Android.renderscript.RenderScript

の代わりに

import androidx.renderscript.RenderScript

それは私のために仕事をしましたが、私はこの解決策が好きではありません、完了するために

マークされた答えはそれを機能させますが、@ Zeeが述べたように、サポートされていない通常のrenderscriptは64ビットの互換性を削除するようです。アプリを公開しようとすると、Google Play Consoleから警告メッセージが表示されます。したがって、まだrenderscriptを使用している場合、サポートバージョンを維持する必要があり、現時点ではAndroidXに移行しないでください。

2
NinjaCoder