我在我的项目中使用了很多库。有些库使用相同的jar文件因此我在build.gradle上写了这个:
dependencies {
compile fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.twotoasters.jazzylistview:library:1.2.1'
compile 'com.google.firebase:firebase-core:10.2.4'
compile 'com.google.firebase:firebase-database:10.2.4'
compile 'com.orhanobut:dialogplus:1.11@aar'
compile 'com.github.recruit-lifestyle:FloatingView:2.2'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.nineoldandroids:library:2.4.0'
compile ('com.specyci:residemenu:1.6+'){
exclude group: 'com.nineoldandroids', module: 'library' }
compile files('libs/poppyview.jar'){
exclude group: 'com.nineoldandroids', module: 'library' }
}
我收到错误: 错误:(54,0)未找到Gradle DSL方法:'exclude()' 可能的原因:
Gradle已经更新,我该如何解决这个问题?
答案 0 :(得分:2)
这是问题
compile files('libs/poppyview.jar'){
exclude ...
}
基于文件的依赖项与来自存储库的依赖项的工作方式不同。没有与之关联的元数据(例如,没有依赖性信息),因此也没有什么可以排除(因为没有传递依赖性)。
你有libs/poppyview.jar
的pom / ivy元数据吗?如果是这样,那么你不应该这样声明它(我建议使用本地maven存储库文件夹)。如果你没有,那么就没有什么可以排除