Android studio 我能';t在我的android studio 0.4.6项目中添加google-play-services.jar

Android studio 我能';t在我的android studio 0.4.6项目中添加google-play-services.jar,android-studio,google-play-services,Android Studio,Google Play Services,以下是我的行动: 1) 从我的项目的“libs”目录中的sdk目录中添加文件google-play-services.jar。 2) 在我的项目(不在解决方案中)的build.gradle中添加依赖项“compile files('libs/google play services.jar')”。 同步项目已成功完成,但在运行应用程序后,我看到该错误: 任务“:TestMcSiRun:dexDebug”的执行失败 com.android.ide.common.internal.LoggedErr

以下是我的行动: 1) 从我的项目的“libs”目录中的sdk目录中添加文件google-play-services.jar。 2) 在我的项目(不在解决方案中)的build.gradle中添加依赖项“compile files('libs/google play services.jar')”。 同步项目已成功完成,但在运行应用程序后,我看到该错误:

任务“:TestMcSiRun:dexDebug”的执行失败

com.android.ide.common.internal.LoggedErrorException:无法运行命令: D:\SDK\SDK\SDK\build tools\19.0.2\dx.bat--dex--输出C:\Users\MCSIMUSIC\AndroidStudioProjects\TestMcSiRun\TestMcSiRun\build\debug C:\Users\MCSIMUSIC\AndroidStudioProjects\TestMcSiRun\TestMcSiRun\classes\debug C:\Users\MCSIMUSIC\AndroidStudioProjects\TestMcSiRun\build\dependency cache\debugC:\Users\MCSIMUSIC\AndroidStudioProjects\TestMcSiRun\TestMcSiRun\build\pre-dexed\debug\classes-2B5C8B23992EB9323B131861658B5A6C4592.jar C:\Users\MCSIMUSIC\AndroidStudioProjects\TestMcSiRun\TestMcSiRun\build\pre-dexed\debug\classes-442363482f1c8783c26a5e38b6ee593d3f54a067.jarC:\Users\MCSIMUSIC\AndroidStudioProjects\TestMcSiRun\TestMcSiRun\build\pre-dexed\debug\google-play-services-da249c1d3c777ecbc074adaa5e3cd781485d270c.jar C:\Users\MCSIMUSIC\AndroidStudioProjects\TestMcSiRun\TestMcSiRun\build\pre-dexed\debug\support-v4-18.0.0-00a4eeb2a4391d8b7286b2eb4e.jar 错误代码: 2. 输出: 意外的顶级异常: com.android.dex.DexException:多个dex文件定义Lcom/google/ads/AdRequest$ErrorCode; 在com.android.dx.merge.dexmmerge.readSortableTypes上(dexmmerge.java:594) 在com.android.dx.merge.dexmerge.getSortedTypes上(dexmerge.java:552) 位于com.android.dx.merge.dexmerge.mergeClassDefs(dexmerge.java:533) 位于com.android.dx.merge.dexmmerge.mergeDexes(dexmmerge.java:170) 位于com.android.dx.merge.dexmmerge.merge(dexmmerge.java:188) 位于com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439) 位于com.android.dx.command.dexer.Main.runMonoDex(Main.java:287) 位于com.android.dx.command.dexer.Main.run(Main.java:230) 位于com.android.dx.command.dexer.Main.Main(Main.java:199) 位于com.android.dx.command.Main.Main(Main.java:103)

我做错了什么? 我的身材。格雷德尔:

apply plugin: 'android'


android {
    compileSdkVersion 18
    buildToolsVersion '19.0.2'

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 15
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'),
            'proguard-rules.txt'
        }
    }
}
dependencies {
    compile 'com.android.support:appcompat-v7:18.0.+'
    compile 'com.google.android.gms:play-services:4.0.30'
    //compile files('libs/google-play-services.jar')
}

你有这样的东西:

dependencies {
    compile 'com.google.android.gms:play-services:4.0.30'
    compile files('libs/google-play-services.jar')
}
但这包括图书馆两次。只有这样就足够了:

dependencies {
    compile 'com.google.android.gms:play-services:4.0.30'
}

它将正确编译,并且将在您的APK中包含正确的库。

您已经包含了两个包含com.google.ads.AdRequest的库。请将build.gradle文件添加到问题中。另外,请看是的,您是对的,build.gradle:compile'com.google.android.gms:play services:4.0.30'编译文件('libs/google play services.jar')中有两个相同的依赖项。我尝试在项目中添加google play服务库,因为我的应用程序要求下载这些文件,但我想用apk文件发送这些库,这是可能的吗?抱歉,我的语言=)我的设备在尝试显示地图时要求安装库,可以吗?没有它是不可能的?如果让它安装库,它可以工作吗?这种行为是内置的服务,是正常的;它需要安装兼容版本的Google Play Services应用程序。在大多数人的设备上,至少是那些拥有Google Play store应用程序的人,都会自动下载、安装并保持最新。