Renderscript Crash Android After Gradle Plugin Update

294 views Asked by At

Repentantly i upgrade AGP based on suggestion from studio.

Crash Logs.

java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/renderscript/RenderScript$ContextType;
    at at.favre.lib.dali.builder.ContextWrapper.<init>(ContextWrapper.java:14)
    at at.favre.lib.dali.Dali.<init>(Dali.java:40)
    at at.favre.lib.dali.Dali.create(Dali.java:77)
    at com.package.Fragment.HomeScreen$12.lambda$onLoadFailed$0$com-obu_qus-Fragment-HomeScreen$12(HomeScreen.java:1795)
    at com.package.Fragment.HomeScreen$12$$ExternalSyntheticLambda0.run(Unknown Source:2)
    at android.os.Handler.handleCallback(Handler.java:938)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:226)
    at android.os.Looper.loop(Looper.java:313)
    at android.app.ActivityThread.main(ActivityThread.java:8663)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.renderscript.RenderScript$ContextType" on path: DexPathList[[dex file "/data/data/com.package/code_cache/.overlay/base.apk/classes10.dex", dex file "/data/data/com.package/code_cache/.overlay/base.apk/classes6.dex", dex file "/data/data/com.package/code_cache/.overlay/base.apk/classes7.dex", zip file "/data/app/~~2C8fMsf-zl0sOCn5GEsoRg==/com.package-rp4FWq6xglCuxgGnQfLCEg==/base.apk"],nativeLibraryDirectories=[/data/app/~~2C8fMsf-zl0sOCn5GEsoRg==/com.package-rp4FWq6xglCuxgGnQfLCEg==/lib/arm64, /data/app/~~2C8fMsf-zl0sOCn5GEsoRg==/com.package-rp4FWq6xglCuxgGnQfLCEg==/base.apk!/lib/arm64-v8a, /system/lib64, /system/system_ext/lib64]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    at at.favre.lib.dali.builder.ContextWrapper.<init>(ContextWrapper.java:14) 
    at at.favre.lib.dali.Dali.<init>(Dali.java:40) 
    at at.favre.lib.dali.Dali.create(Dali.java:77) 
    at com.package.Fragment.HomeScreen$12.lambda$onLoadFailed$0$com-obu_qus-Fragment-HomeScreen$12(HomeScreen.java:1795) 
    at com.package.Fragment.HomeScreen$12$$ExternalSyntheticLambda0.run(Unknown Source:2) 
    at android.os.Handler.handleCallback(Handler.java:938) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loopOnce(Looper.java:226) 
    at android.os.Looper.loop(Looper.java:313) 
    at android.app.ActivityThread.main(ActivityThread.java:8663) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135) 

If i use previous commit where gradle was 7.4.1 and upgraded to 8.0.1

classpath 'com.android.tools.build:gradle:8.0.1'

Also it changed gradle properties file with below lines

android.defaults.buildfeatures.buildconfig=true
android.nonTransitiveRClass=false
android.nonFinalResIds=false

If i checkout previous commit which has 7.4.1 then app was running fine, but if i checkout current one then i am having crash, can anyone help why renderscript has issue with this ?

2

There are 2 answers

0
Victor Raft On

Renderscript APIs were removed in Gradle 8. There's documentation to migrate from it. https://developer.android.com/guide/topics/renderscript/migrate

0
GreatMaestro On

Google disabled support of RenderScript by default since Android Gradle Plugin 8.0. To enable it, just add

android.defaults.buildfeatures.renderscript=true

to your gradle.properties