【问题标题】:commons-validator and error "commons-logging defines classes that conflict with classes now provided by Android"commons-validator 和错误“commons-logging 定义的类与现在由 Android 提供的类冲突”
【发布时间】:2017-11-06 23:32:20
【问题描述】:

在最近的 Android Studio 更新后,我可以在调试模式下构建和运行应用程序,但由于以下错误,我不再能够构建发布版本:

Error:Error: commons-logging 定义的类与 Android 现在提供的类冲突。解决方案包括查找没有相同问题的较新版本或替代库(例如,对于 httpclient,请改用 HttpUrlConnection 或 okhttp),或使用 jarjar 之类的东西重新打包库。 [重复平台类]

我已阅读 this postthis post。两个答案都建议“排除模块:'httpclient'”。它不能解决我的问题。我相当确定它与以下内容有关:

compile 'commons-validator:commons-validator:1.6'

有人可以提供治疗方法吗?

【问题讨论】:

    标签: android-studio android-gradle-plugin apache-commons


    【解决方案1】:

    问题在于公共日志记录。所以必须排除。 在 app/build.gradle 中添加以下代码。它应该可以工作。

    configurations {
        all {
            exclude module: 'httpclient'
            exclude module: 'commons-logging'
        }
    }
    

    【讨论】:

    • 然后导致找不到httpclient包的错误
    • 这意味着您的项目正在使用 httpclient 模块。尝试仅排除 common-logging 模块
    • 其实我想知道这个错误的解释。意思是新旧方式的http冲突是什么意思?
    • 感谢您的回答。它似乎正在工作。我会用这种方式生成的apk做更多的测试,如果有问题会反馈。
    猜你喜欢
    • 2018-04-09
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    • 2019-11-11
    • 1970-01-01
    • 2021-12-08
    相关资源
    最近更新 更多