Lets say there exists a library x.y.z-1.0
, x.y.z-2.0
, x.y.z-3.0
that uses a.b.c-1.0
, a.b.c-2.0
, a.b.c-3.0
respectively.
I am currently writing another library (com.mysdk
) that uses x.y.z-2.0
. But I have not check the compatability of my library with x.y.z-1.0
and x.y.z-3.0
. Thus I am going to shade x.y.z-2.0
to com.mylibrary.shaded.x.y.z-2.0
. However, after investigation, a.b.c-2.0
will not be shaded.
So the situation looks like the picture underneath.
My question comes in when the user of
com.mysdk
is also using a.b.c-1.0
at the same time. I could not make the project to use the specified a.b.c-1.0
, instead it is using the a.b.c-2.0
in the sdk.