java - Android:如何在导入 FAT JAR 时排除重复的类?
问题描述
导入 FAT JAR 后,出现编译错误:
More than one file was found with OS independent path 'kotlin/collections/MapWithDefault.kotlin_metadata'
问题是某些类是重复的
Duplicate class kotlin.ArrayIntrinsicsKt found in modules com.fiskaly.kassensichv.client-android-0.0.1-alpha-all.jar (com.fiskaly.kassensichv.client-android-0.0.1-alpha-all.jar) and kotlin-stdlib-1.3.50.jar (org.jetbrains.kotlin:kotlin-stdlib:1.3.50)
Duplicate class kotlin.BuilderInference found in modules com.fiskaly.kassensichv.client-android-0.0.1-alpha-all.jar (com.fiskaly.kassensichv.client-android-0.0.1-alpha-all.jar) and kotlin-stdlib-1.3.50.jar (org.jetbrains.kotlin:kotlin-stdlib:1.3.50)
Duplicate class kotlin.Deprecated found in modules com.fiskaly.kassensichv.client-android-0.0.1-alpha-all.jar (com.fiskaly.kassensichv.client-android-0.0.1-alpha-all.jar) and kotlin-stdlib-1.3.50.jar (org.jetbrains.kotlin:kotlin-stdlib:1.3.50)
Duplicate class kotlin.DeprecationLevel found in modules com.fiskaly.kassensichv.client-android-0.0.1-alpha-all.jar (com.fiskaly.kassensichv.client-android-0.0.1-alpha-all.jar) and kotlin-stdlib-1.3.50.jar (org.jetbrains.kotlin:kotlin-stdlib:1.3.50)
Duplicate class kotlin.DslMarker found in modules com.fiskaly.kassensichv.client-android-0.0.1-alpha-all.jar (com.fiskaly.kassensichv.client-android-0.0.1-alpha-all.jar) and kotlin-stdlib-1.3.50.jar (org.jetbrains.kotlin:kotlin-stdlib:1.3.50)
Duplicate class kotlin.ExceptionsKt found in modules com.fiskaly.kassensichv.client-android-0.0.1-alpha-all.jar (com.fiskaly.kassensichv.client-android-0.0.1-alpha-all.jar) and kotlin-stdlib-1.3.50.jar (org.jetbrains.kotlin:kotlin-stdlib:1.3.50)
Duplicate class kotlin.ExceptionsKt__ExceptionsKt found in modules com.fiskaly.kassensichv.client-android-0.0.1-alpha-all.jar (com.fiskaly.kassensichv.client-android-0.0.1-alpha-all.jar) and kotlin-stdlib-1.3.50.jar (org.jetbrains.kotlin:kotlin-stdlib:1.3.50)
Duplicate class kotlin.Experimental found in modules com.fiskaly.kassensichv.client-android-0.0.1-alpha-all.jar (com.fiskaly.kassensichv.client-android-0.0.1-alpha-all.jar) and kotlin-stdlib-1.3.50.jar (org.jetbrains.kotlin:kotlin-stdlib:1.3.50)
Duplicate class kotlin.Experimental$Level found in modules com.fiskaly.kassensichv.client-android-0.0.1-alpha-all.jar (com.fiskaly.kassensichv.client-android-0.0.1-alpha-all.jar) and kotlin-stdlib-1.3.50.jar (org.jetbrains.kotlin:kotlin-stdlib:1.3.50)
...
我的问题是,如何从 FAT JAR 文件中排除某些类。我试过了:
implementation files('libs/com.fiskaly.kassensichv.client-android-0.0.1-alpha-all.jar'){
exclude group: 'kotlin'
}
但它返回一个错误,因为基于文件的依赖项与来自存储库的依赖项的工作方式不同。没有与之关联的元数据(例如,没有依赖信息),因此也没有什么可以排除的(因为没有传递依赖)。
解决方案
推荐阅读
- c# - C# Json 序列化不同类型
- csv - AppleScript 从 TSV 文件中的特定列获取变量
- html - CSS:电脑和手机上的媒体查询
- r - ggplot2 boxplot 图例顺序与数据级别不匹配
- javascript - 克隆 jquery 后如何追加和删除元素?
- asp.net - 在 Angular 应用程序中添加 Azure AD 身份验证(使用 MSAL)时出现 CORS 问题
- angular - 如何使用服务变量
- asp.net-core-mvc - 我可以向 .Net Core 中的属性中引用的自定义模型绑定器提供参数吗?
- android - 如何在andorid中使用mvvm检查片段的权限
- nlp - 我可以恢复 StringDocument
回到字符串?(文本分析.jl)