【问题标题】:How to remove Gradle Conflicts如何删除 Gradle 冲突
【发布时间】:2017-03-13 13:19:13
【问题描述】:

我的项目中的总方法计数是155,323。我正在使用很多库。 首先,我使用的是这样的播放服务。

compile 'com.google.android.gms:play-services:9.0.1'

我在GoogleVR: 相关类中遇到ClassDefNotFound 错误。

然后我删除了play-services的通用库,并添加了特定的。错误消失了。我很高兴也很惊讶。

不幸的是,错误又来了,就在添加以下库后,我在我的一个班级中得到了ClassDefNotFound

repositories {
    maven {
        url "https://s3.amazonaws.com/repo.commonsware.com"
    }
}

dependencies {
    compile 'com.commonsware.cwac:merge:1.1.+'
}

java.lang.NoClassDefFoundError:解析失败: Lcom/video_lib/android/utils/NetworkClient;

如果我删除 commonsware 库,它可以正常工作,但 commonsware 库对于其他一些 API 是必不可少的,我必须使用它。

错误可能是由于gradle conflict。请指导我如何识别和消除 gradle-conflict。

【问题讨论】:

  • 这是冲突的,这意味着 commonsware 库可能包含 google play 库

标签: android performance android-layout gradle android-gradle-plugin


【解决方案1】:

运行gradle app:dependencies 以查看依赖关系树。查找同一库的多个版本和/或同一家族的库的多个版本。然后用力只留下其中一个。

【讨论】:

【解决方案2】:

以防万一方法计数超过 64k 限制的 Multi-dex 问题 使用
编译'com.android.support:multidex:1.0.0'

在你的 gradle 文件中启用 multidex 支持 multiDexEnabled 是的

在您的清单中,将 MultiDexApplication 类从 multidex 支持库添加到应用程序元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    • 1970-01-01
    • 2017-12-06
    • 2021-02-24
    • 1970-01-01
    • 2022-01-16
    相关资源
    最近更新 更多