我在项目的lib文件夹中有一个ak形式的SDK。我试图将它作为依赖项添加到我的项目的build.gradle中。
INDEX SCAN
但是,当我尝试重建gradle时,我得到以下内容:
dependencies {
...
compile(name:'mySDK', ex:'aar')
...
}
我解压缩Error:(48, 0) No such property: ex for class: org.gradle.api.internal.artifacts.dependencies.DefaultExternalModuleDependency_Decorated.
> java.util.zip.ZipException: duplicate entry: org/apache/http/impl/cookie/IgnoreSpecFactory.class
并确认mySDK
是httpclient-android-4.3.5.1.jar
中使用的库(此jar包含mySDK
...)。
然后我更新了我的gradle以尝试排除此库。
org.apache.http
我也尝试排除:
dependencies {
...
compile(name:'mySDK', ex:'aar'){
exclude(group: 'org.apache.http', module: 'httpclient-android-4.3.5.1')
}
...
}
不幸的是,我仍然收到相同的exclude module: 'httpclient'
exclude(group: 'org.apache.http', module: 'httpclient-android')
exclude(group: 'org.apache.http', module: 'httpclient')
。知道如何解决这个问题吗?
答案 0 :(得分:1)
aar file
和flat repo
您不能。
只有在使用maven依赖项时才能执行此操作。在这种情况下,您有一个描述依赖关系的pom文件(包含模块和组)。
在aar中没有任何pom文件描述jar文件是一个名为httpclient-android-4.3.5.1
的依赖项。
通常,aar文件不包含依赖项。 最好的选择是在maven仓库中使用此aar以排除依赖关系 由于不可能,另一种方法是解压缩aar文件,删除jar依赖项并重新打包aar(这是一个简单的zip文件)。