android - 从 gradle 中的依赖项中排除 jar

标签 android gradle android-support-library viewpagerindicator

我在我的gradle中有以下依赖

        compile 'com.github.chrisbanes.actionbarpulltorefresh:library:+'
        compile 'org.apache.httpcomponents:httpcore:4.3.2'
        compile('com.viewpagerindicator:library:2.4.1')
        compile 'com.android.support:support-v13:+'

在哪里 com.viewpagerindicator:library:2.4.1包括android-support-v4但我的项目使用 v13。从 gradle 有什么办法可以告诉模块 viewpagerindicator:library使用 v13 吗?

截至目前,我得到 Error:(193, 23) error: cannot find symbol method postInvalidateOnAnimation(BezelImageView)由于 viewpagerindicator:library覆盖 v13 功能

最佳答案

支持库名称中的“v4”和“v13”不引用支持库的特定版本——它们是指特定支持库支持的最低 SDK。您不能简单地将 v4 替换为 v13,因为 v4 库包含 v13 库没有的 API。

目前有 4 个不同的 Android 支持库 - v4、v7、v8 和 v13。您应该将每个都视为一个独特的库。如果你真的想的话,你可以同时使用它们中的一个。每个库中的类都在 android.support.vX包,其中 X 是您正在使用的支持库的版本。因此,v4 支持库中的类不会“覆盖”v13 库中的类。

其次,您正在寻找的方法 ( postInvalidateOnAnimation(View) ) 在 v13 支持库中不存在。它属于 v4 支持库。

最后,库的依赖项通常不会被导出。也就是说,如果 ViewPagerIndicator 库使用 v4 支持库,并且您想使用 v4 支持库,您仍然需要将 v4 支持库添加到您的依赖项中才能访问这些类。

长话短说,此时您真正需要做的就是添加 compile 'com.android.support:support-v14:19.1.0' 以编译您的应用程序。到您的依赖项。

关于android - 从 gradle 中的依赖项中排除 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24681428/

相关文章:

java - 一次将一个 View 添加到后台线程中的线性布局,而不是在所有操作完成后

java - 如何在 Gradle 插件中检查/读取 Java 文件

android - ViewPager + FragmentPagerAdapter + 每个选项卡的多个 fragment

android - 在按钮上单击从 WebView 文本区域获取内容 Android

android - 如何使用 AndroidInjector 在模块中获取 MainActivity

android - Android 2 中的 ActionBarSherlok + DrawerLayout

android - 尝试拍摄 https ://github. com/appsthatmatter/GraphView 的图表快照时出现 IllegalStateException

Linux - Gradle 无法删除临时文件并且构建失败

android - 将 build.gradle 迁移到 build.gradle.Kts : Not able to resolve Properties class

android - 我应该实现哪个库来使用应用程序 :layout_behavior ="@string/appbar_scrolling_view_behavior"