-
-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
Hi, I’m using Symja in an Android project and encountering a crash when trying to evaluate:
integrate(sin(x^2))
Simpler integrals like integrate(sin(x)) work fine, but with sin(x^2) the app crashes.
Crash log excerpt:
java.lang.IncompatibleClassChangeError: Class 'com.google.common.base.Suppliers$NonSerializableMemoizingSupplier'
does not implement interface 'java.util.function.Supplier'
at org.matheclipse.core.reflection.system.FunctionExpand.getMatcher(FunctionExpand.java:599)
Details about my setup:
- I have implemented Symja using the provided modules in my Android project (added them at the module level)
- Other expressions evaluate correctly. The crash only occurs on certain advanced integrals like
integrate(sin(x^2)).
From my debugging, it looks like a Guava version conflict:
- On Android,
com.google.common.base.Supplierscomes from the runtime (older Guava version). - But
FunctionExpandseems to expect a newer version whereSuppliers.NonSerializableMemoizingSupplierimplementsjava.util.function.Supplier.
Questions:
- Is this a known issue with Guava on Android?
- Should we explicitly exclude Guava from Symja and instead use a newer
com.google.guava:guava-androiddependency? - What’s the recommended fix or workaround to make
integrate(sin(x^2))work on Android without crashes?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels