这是我关于 Play Services Cast Framework 的问题的后续,其中解决方案似乎从 v17.0.0 更新到 v18.0.0。不幸的是,新版本依赖于 Dagger 2,而(大型且复杂的)项目是 Dagger 1。
我们目前正在使用:
api "com.google.android.gms:play-services-cast:17.0.0"
api "com.google.android.gms:play-services-cast-framework:17.0.0"
Run Code Online (Sandbox Code Playgroud)
将这些更新到 18.0.0 会导致:
> 1 exception was raised by workers:
java.lang.RuntimeException: Duplicate class dagger.Lazy found in modules dagger-1.2.2.jar (com.squareup.dagger:dagger:1.2.2) and dagger-2.22.jar (com.google.dagger:dagger:2.22)
Duplicate class dagger.MembersInjector found in modules dagger-1.2.2.jar (com.squareup.dagger:dagger:1.2.2) and dagger-2.22.jar (com.google.dagger:dagger:2.22)
Duplicate class dagger.Module found in modules dagger-1.2.2.jar (com.squareup.dagger:dagger:1.2.2) and dagger-2.22.jar (com.google.dagger:dagger:2.22)
Duplicate class dagger.Provides found in modules dagger-1.2.2.jar (com.squareup.dagger:dagger:1.2.2) and dagger-2.22.jar (com.google.dagger:dagger:2.22)
Run Code Online (Sandbox Code Playgroud)
理想情况下,我可以让库的新版本使用 Dagger 2,而应用程序的其余部分使用 Dagger 1。重新设计项目以使用 …