I'm making an Android library for B4A framework.
Here's the situation:
- My Android library uses Java8 features (such as Lambda)
- B4A (Basic4Android) uses legacy
dex
(instead ofd8
) to make the apps and thus, incompatible with java8 and will not desugar by itself.
Using my aar
file in the B4A results to the following error:
Uncaught translation error: com.android.dx.cf.code.SimException:
invalid opcode ba (invokedynamic requires --min-sdk-version >= 26)
...
The solution of the official forum is to desugar the Jar of the library using Bazel's desugar tool, but it seems it leads to Expected a load for ...
which is a different error and not my question.
My question:
Is it possible to generate desugared aar
library (compatible with Java7 and no lambda) using Android Studio, for these cases?
I know that d8
does the desugaring, but it's output is .dex
files and not .jar
file.
What I've tried:
Solution said in the Android's Using Java 8 Feature did not help because it does not produce compatible jar and the error still occurs.