我们正在开发一个Android库,它有很多第三方库,如Dagger2,Retrofit2,Glide等等。该库将作为AAR库在Github中分发。
我们正在使用2.0改装版本的应用程序中使用2.0改装版本集成我们的aar库。正如预期的那样,aar库会将应用程序的版本覆盖为更旧并更改为2.0。当我们运行应用程序时,它崩溃了,因为没有找到1.9版本。
两个版本的第三方库必须存在于同一个应用程序中并且彼此之间没有冲突,因此,当库不必更改Retrofit版本和集成aar库的应用程序时,必须改变Retrofit版本。
我们正在调查这个问题,我们发现了一个使用jarjar tool的可能解决方案,但我们不知道这是最好的解决方案。另一个可能性是使用exlude依赖项或使用我们在此page中看到的传递依赖项。
任何人都可以帮助我们以最佳方式将我们的库集成到应用程序中,而无需与应用程序库相媲美。