I've started a process of building a java binding on top of a SDK provided for us by one of our partners. I'm struggling a bit but little by little I'm managing to make progress. However, the point of this post is not the java binding, but one curious fact that made me wonder about managing dependencies of a SDK, be it one provided for us or one that we have to build ourselves.
The curious fact is: I'm having to import some dependencies that are specific for Android on the front-end application that is consuming the SDK. Why is this happening? For example, in order to run a method from the SDK, the compiler (Visual Studio) asks me to import GoogleGson, Kotlin, Koin, etc. Which are dependencies specific for Android. Shouldn't the SDK wrap them within itself without forcing the application to import them as well? If that situation is to be expected, why does that happen?
I'm pretty sure this is something more in line with the concept of managing dependencies than Java Bindings specifically, which is why I'm posting here. Any light on this subject would be really appreciated.