Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试将Youtube数据API集成到android应用程序时出现异常_Android_Youtube_Youtube Data Api_Android Youtube Api_Android Multidex - Fatal编程技术网

尝试将Youtube数据API集成到android应用程序时出现异常

尝试将Youtube数据API集成到android应用程序时出现异常,android,youtube,youtube-data-api,android-youtube-api,android-multidex,Android,Youtube,Youtube Data Api,Android Youtube Api,Android Multidex,当我尝试将Youtube数据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.read

当我尝试将Youtube数据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 Services API吗? 你可以整合你真正需要的东西。按照说明-部分“选择性地将API编译到可执行文件中”

它应该以这种方式工作,您将不需要

multidexenabled true

再也没有了。

我用它来使用谷歌地图。。你知道我应该把它改成什么吗?去掉这行,把com.google.android.gms:play services maps:8.3.0I改成。。它说找不到相同的错误。。。你认为这是因为互联网连接薄弱吗?Gradle下载所有你在repo中没有的库。所以,你需要先下载库。我仍然得到错误:找不到:com.google.android.gms:play services maps:8.3.0 Open FileOpen in Project Structure dialog我不认为是因为这个。。。我尝试使用8.1而不是8.3,但我的原始错误仍然存在。您可以共享您的项目吗?我可以用一种完全不需要任何jar下载的替代方法来解决这个问题。所以根本没有罐子复制。我已经描述了这一点。
multidexenabled true