When developing an android library, is it possible to hide internal classes so they're not available for the one who uses the library?
Suppose there is a module sdk. Let's suppose that someone develops an application and relies on the sdk.
sdk provides an interface (let's say X and it's implementation XImpl) and then has a lot of internal classes that are used to implement the XImpl.
How to hide the classes so the user of a library sees only X, XImpl (and possibly it's parameters)?
I distribute the sdk via a Gradle repository, so I can work with the modules a bit and extract that, but in the best case, I'd like to achieve that with some ProGuard configuration or similar.