android - 尝试将Youtube Data API集成到android应用中时出现com.android.dex.DexException

标签 android youtube youtube-data-api android-youtube-api android-multidex

当我尝试将Youtube DATA Api功能集成到我的应用程序中时,我终于设法解决了所有错误。但是当我运行项目时,它给了我以下错误:

UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lcom/google/api/client/auth/oauth/AbstractOAuthGetToken;
    at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
    at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
    at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
    at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
    at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
    at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
    at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
    at com.android.dx.command.dexer.Main.run(Main.java:246)
    at com.android.dx.command.dexer.Main.main(Main.java:215)
    at com.android.dx.command.Main.main(Main.java:106)

我的build.gradle文件如下:
apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "21.1.2"

defaultConfig {
    applicationId "wheresapp.iiitb.com.wheresapp"
    minSdkVersion 15
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"
}


buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'),   'proguard-rules.pro'
    }
}
}

dependencies {
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:support-v4:21.0.0'
compile 'com.google.android.gms:play-services:+'
compile 'com.google.apis:google-api-services-youtube:v3-rev152-1.21.0'
compile files('libs/twitter4j-core-4.0.1.jar')
compile files('libs/api-1.3.jar')
compile files('libs/json-simple.jar')
compile files('libs/google-oauth-client-1.16.0-rc.jar')
compile files('libs/google-oauth-client-jetty-1.11.0-beta.jar')
compile files('libs/google-oauth-client-java6-1.11.0-beta.jar')
}

我在这里查看了很多示例,但无法解决此错误。如果我设置
multidexenabled true

在Gradle文件中,此错误消失了,但我又遇到了另一个错误
java.util.zip.ZipException: duplicate entry: com/google/api/client/auth/oauth/package-info.class

最佳答案

问题是

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

您真的需要在应用中使用所有Google Play服务API吗?
您可以整合您实际需要的东西。遵循here指令-部分“选择性地将API编译到您的可执行文件中”

关于android - 尝试将Youtube Data API集成到android应用中时出现com.android.dex.DexException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33975264/

相关文章:

java - Android - 甚至在 Android 4.0+ 上准备流之前调用 MediaPlayer 的 Prepare

ios - 如何停止播放 YouTube 嵌入视频而不在 WebView 中点击暂停?

youtube - 如何查找 channel 是否由 YouTube 自动生成(主题)

ios - 快速的 YouTube 直播 API

java - 亚马逊 AWS 教程?

java - 如何调试第三方Gradle插件?

Android MediaStore 获取不同的音乐文件文件夹

iphone - <iframe> 嵌入的 YouTube 视频 - 似乎可以工作,但 - 在 iPhone 中保持加载状态

android - Android 中的 YouTube 视频

android - 如何在Android中使用YouTube API获取通过关键字搜索的相关视频列表