Multi dex files define Lcom/google/gdata/util/common/base/Escaper
我陷入上述错误。我向UserVoice SDK添加依赖项后发生错误

compile 'com.uservoice:uservoice-android-sdk:+'

由于我添加了此依赖项,因此无法运行我的Android项目。

我已经了解过jarjar命令可能可以解决此问题。但是由于依赖项是.aar库,我不知道可能是什么解决方案

任何帮助是极大的赞赏

其他礼节 list :
 compile('com.crashlytics.sdk.android:crashlytics:2.1.0@aar') {
        transitive = true;
    }
    compile('com.twitter.sdk.android:twitter:1.1.0@aar') {
        transitive = true;
    }
    compile 'com.android.support:support-v4:21.0.0'
    compile 'com.android.support:appcompat-v7:20.+'
    compile 'com.google.android.gms:play-services-wearable:+'
    compile 'com.github.manuelpeinado.fadingactionbar:fadingactionbar-abc:3.1.2'
    compile 'com.squareup.retrofit:retrofit:1.7.1'
    compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0'
    compile 'com.squareup.okhttp:okhttp:2.0.0'
    compile 'com.jakewharton:butterknife:5.1.2'
    compile 'com.squareup.picasso:picasso:2.3.4'
    compile 'com.melnykov:floatingactionbutton:1.0.5'
    compile 'com.balysv.materialmenu:material-menu-abc:1.+'
    compile 'de.keyboardsurfer.android.widget:crouton:1.8.5@aar'
    compile 'com.facebook.android:facebook-android-sdk:3.20.0'
    compile 'com.joanzapata.android:android-iconify:1.0.8'
    compile 'com.squareup:otto:1.3.5'
    compile 'com.android.support:recyclerview-v7:21.+'
    compile 'com.android.support:cardview-v7:21.+'

Gradle依赖pastebin:http://pastebin.com/0m6b8Wyi

最佳答案

您遇到的问题是由以下事实引起的:您有两个依赖项,其中包括Escaper类。这些是您的依赖关系中最有可能的依赖关系,因此不清楚哪个包含该类。您可以确定com.uservoice:uservoice-android-sdk:+包含类Escaper,因为发生错误时即是如此。

您可以通过从一个编译依赖项中排除依赖项来解决此问题。看一看Gradle docs并向下滚动到它所说的“排除传递依赖项”。要注意的一件事是,依赖项可能是不同的版本,但包含相同的类。您应该确认两个库都可以使用相同版本的Escaper类。

关于android - 多个dex文件定义了Lcom/google/gdata/util/common/base/Escaper,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27206210/

10-12 03:27