我添加了以下依赖项
文件。
compile 'com.aerisweather:aeris-maps-lib:2.0.0@aar'它来自
https://oss.sonatype.org/content/repositories/comaerisweather-1027/com/aerisweather/aeris-maps-lib/2.0.0/
如果你从下面的网址看到工件,它有安卓支持的v7库类。
https://oss.sonatype.org/#nexus-search;quick~aerisweather
我想在运行/打包应用程序时排除该包。由于重复类错误,我无法运行/打包应用程序。
我尝试过像这样添加配置,
configurations {
all*.exclude group: 'com.android.support', module: 'appcompat-v7'
}但这将它排除在整个项目之外,这导致我犯了很多错误。
我已经尝试了所有的方法,但仍然得到以下错误。
错误:任务':transformClassesWithJarMergingForDebug‘执行失败。com.android.build.api.transform.TransformException: java.util.zip.ZipException:重复条目: android/support/v7/appcompat/R$anim.class
发布于 2017-01-05 02:06:05
此库还具有依赖项
和
..。
您需要将它们全部排除在
并包含为您自己的依赖项。
def supportLibraryVersion = '25.0.1'
dependencies {
compile "com.android.support:support-v4:${supportLibraryVersion}"
compile "com.android.support:support-annotations:${supportLibraryVersion}"
compile "com.android.support:appcompat-v7:${supportLibraryVersion}"
//... other deps
compile ('com.aerisweather:aeris-maps-lib:2.0.0@aar', {
exclude group: 'com.android.support', module: 'support-v4'
exclude group: 'com.android.support', module: 'appcompat-v7'
exclude group: 'com.android.support', module: 'mediarouter-v7'
})
}PS。
也有
依赖,这是整个Play服务包(它很大),您将需要启用MultiDex或收缩代码与proguard。
发布于 2021-03-01 22:03:26
这不是一个直接的回答,而是一个建议。
gradle (排除方法调用)提供的排除功能不适用于本地aar文件中的内容,因为这些内容不是由依赖项管理定义的,因此不能被识别。就依赖关系解析而言,aar文件是一个单独的单元(包括其中的所有资源/类)。因此,需要以不包含这些条目的方式构建文件;或者,如果文件不是由您构建的,则可以解压缩并忽略相关文件,然后重新打包。
虽然使用gradle可能有一些老套的方法来删除某些文件(我还找不到任何可靠的方法),但我们可以挂接到一些中间构建步骤并删除这些文件;但通常建议的最佳实践是避免将公开可用的依赖项打包到aar/jar中,以避免重复条目问题并保持较小的aar/jar大小。
https://stackoverflow.com/questions/41469772
复制相似问题