【问题标题】:ViewPager2 dependency confusionViewPager2 依赖混淆
【发布时间】:2021-06-29 05:44:08
【问题描述】:

我正准备尝试ViewPager2,但当我看到有人在他们的 gradle 文件中添加以下依赖声明时,我不明白:

implementation 'androidx.viewpager2:viewpager2:1.0.0'

我正在使用 AndroidX,即使没有在我的应用级 gradle 文件中添加它,我仍然可以访问 ViewPager2 类,并且可以将它添加到我的代码中。是否仅当项目仍在使用旧版 Android 支持库并且您只想使用特定的 AndroidX 组件(例如 ViewPager2)时才需要此行?

【问题讨论】:

    标签: android androidx android-viewpager2


    【解决方案1】:

    如果您可以看到项目中的 ViewPager2 类,而没有添加对 androidx.viewpager2:viewpager 库的显式依赖,那么您对 ​​androidx.viewpager2:viewpager 库具有传递依赖。在这种情况下,您显式依赖的库之一依赖于 androidx.viewpager2:viewpager 库。

    您可以运行dependencies Gradle 任务来查看您的应用程序的依赖关系图,并从中计算出您的哪些显式依赖关系引入了androidx.viewpager2:viewpager 库。在我的项目中,当我运行gradle :app:dependencies 任务时,我在依赖关系图中看到这是我的应用程序对com.google.android.material:material 的依赖关系,它引入了androidx.viewpager2:viewpager 库。

    如果您愿意,您可以运行 dependencyInsight Gradle 任务以获得更直接的问题答案。例如,在我的项目中,如果我运行gradle :app:dependencyInsight --configuration debugCompileClasspath --dependency viewpager2,那么我看到的输出如下:

    androidx.viewpager2:viewpager2:1.0.0
    \--- com.google.android.material:material:1.4.0
         \--- debugCompileClasspath
    

    【讨论】:

      猜你喜欢
      • 2020-11-30
      • 1970-01-01
      • 2015-01-16
      • 1970-01-01
      • 2013-09-25
      • 2011-12-16
      • 2018-12-16
      • 1970-01-01
      • 2017-01-31
      相关资源
      最近更新 更多