gpt4 book ai didi

java - 在gradle Android Studio中排除一个类文件

转载 作者:行者123 更新时间:2023-11-30 06:48:03 28 4
gpt4 key购买 nike

在我的项目中,我需要导入第三方 jar 文件和 Facebook SDK。

compile files('libs/SkinSDK.jar')
compile 'com.facebook.android:facebook-android-sdk:4.14.0'

两者都包含相同的 BundleJSONConverter 类。所以,我不能生成签名的 APK。它总是显示重复条目 com/facebook/internal/BundleJSONConverter。

所以,我想在 Facebook 或 SkinSDK.jar 中排除。我试过了

compile ('com.facebook.android:facebook-android-sdk:4.14.0') {
exclude group: 'com.facebook.internal', module: 'BundleJSONConverter'
}

它不工作并显示相同的错误。

最佳答案

依赖项的配置闭包的exclude 方法排除了传递依赖项。所以,如果你的模块依赖依赖于其他模块,你可以从你的构建中排除它们。您可以在其 Maven repository info page 上查看 'com.facebook.android:facebook-android-sdk:4.14.0' 模块的传递依赖项.

如果 BundleJSONConverter 类存在于传递依赖中,您可以按照与现在相同的方式排除特定模块。只需指定 groupmoduleversion,就像您对依赖项所做的那样。

如果你只是想为一个依赖jar排除一个类,看看jar jar links工具及其 Gradle 插件。它允许您更改包含的 jar ,例如更改包或删除类。

以下(shortened) example显示了插件的用法和一些改变依赖 jar 的方法:

compile jarjar.repackage {
from 'org.apache.hive:hive-exec:0.13.0.2.1.5.0-695'

archiveBypass "commons*.jar"
archiveExclude "slf4j*.jar"

classDelete "org.apache.thrift.**"
classRename 'org.json.**', 'org.anarres.hive.json.@1'
}

关于java - 在gradle Android Studio中排除一个类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44913406/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com