簡體   English   中英

從依賴關系中排除罐子

[英]exclude a jar from dependancy in gradle

我在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功能, Error:(193, 23) error: cannot find symbol method postInvalidateOnAnimation(BezelImageView)

支持庫名稱中的“ v4”和“ v13”未引用支持庫的特定版本,它們指的是特定支持庫支持的最低SDK。 您不能簡單地用v13替換v4,因為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'您的應用程序得以編譯,您真正需要做的就是在您的依賴項中添加compile 'com.android.support:support-v14:19.1.0'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM