0

Je voulais utiliser RenderScript de la bibliothèque SupportLibrary pour créer un effet de flou.Android, RenderScript de SupportLibrary et java.lang.NoClassDefFoundError

Pour cela, j'ai trouvé la solution d'ici https://stackoverflow.com/a/14988991/408780

final RenderScript rs; 
rs = RenderScript.create(myAndroidContext); 
final Allocation input = Allocation.createFromBitmap(rs, photo, Allocation.MipmapControl.MIPMAP_NONE, Allocation.USAGE_SCRIPT); 
final Allocation output = Allocation.createTyped(rs, input.getType()); 
final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs)); 
script.setRadius(myBlurRadius /* e.g. 3.f */); 
script.setInput(input); 
script.forEach(output); 
output.copyTo(photo); 

Le problème est que rs = RenderScript.create (myAndroidContext) provoque java.lang.NoClassDefFoundError et je ne sais pas, ce qui est aller mal.

Selon https://developer.android.com/reference/android/support/v8/renderscript/ScriptIntrinsicBlur.html ScriptIntrinsicBlur a été ajouté dans la version 23.

Je viens d'ajouter à l'application gradle lignes suivantes:

android { 
... 
    defaultConfig { 
     ... 
     renderscriptTargetApi 23 
     renderscriptSupportModeEnabled true 
    } 
... 
} 

J'ai aussi essayé avec renderscriptTargetApi 21 comme décrit ci-dessous https://github.com/react-native-community/react-native-blur/issues/110#issuecomment-272956182

Mais toujours pas de succès. Aucune suggestion?

Peut-être quelques infos supplémentaires:

minSdk = 14, targetSdk = 19, compileSdk = 25

Merci à l'avance.

Répondre

0

Quelle est la version de build-tools et la version gradle-plugin que vous utilisez? Des messages d'erreur supplémentaires seraient utiles.

Le code semble correct. Le problème peut être lié à la configuration de proguard. Pourriez-vous ajouter ce qui suit:

-dontwarn android.support.v8.renderscript.* 
-keepclassmembers class android.support.v8.renderscript.RenderScript { 
    native *** rsn*(...); 
    native *** n*(...); 
} 
+0

Désolé pour la réponse tardive. Mais ... toujours pareil, build-tools version 25.0.2, gradle-plugin version 2.1.2 – Tima