我在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)
覆盖v13功能,我得到viewpagerindicator:library
答案 0 :(得分:1)
支持库名称中的“v4”和“v13”未引用支持库的特定版本 - 它们指的是特定支持库支持的最小SDK。您不能简单地用v13替换v4,因为v4库包含v13库没有的API。
目前有4种不同的Android支持库 - v4,v7,v8和v13。您应该将每个视为一个独特的库。如果你真的想要,你可以同时使用所有这些。每个库中的类都在android.support.vX
包中,其中X是您正在使用的支持库的版本。因此,v4支持库中的类不会“覆盖”v13库中的类。
其次,v13支持库中不存在您要查找的方法(postInvalidateOnAnimation(View)
)。它属于v4支持库。
最后,通常不会导出库的依赖项。也就是说,如果ViewPagerIndicator库使用v4支持库并且您想要使用v4支持库,则仍需要将v4支持库添加到依赖项以访问这些类。
长话短说,此时您真正需要做的就是将您的应用程序编译为依赖项添加compile 'com.android.support:support-v14:19.1.0'
。