【问题标题】:I can't add google-play-services.jar in my project in android studio 0.4.6我无法在 android studio 0.4.6 的项目中添加 google-play-services.jar
【发布时间】:2014-03-07 23:03:58
【问题描述】:

有我的行动: 1) 在我的项目的“libs”目录中的 sdk 目录中添加文件 google-play-services.jar。 2)在我的项目(不在解决方案中)的build.gradle中添加依赖“编译文件('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 --output C:\Users\MCSIMUSIC\AndroidStudioProjects\TestMcSiRun\TestMcSiRun\build\dex\debug C:\Users\MCSIMUSIC \AndroidStudioProjects\TestMcSiRun\TestMcSiRun\build\classes\debug C:\Users\MCSIMUSIC\AndroidStudioProjects\TestMcSiRun\TestMcSiRun\build\dependency-cache\debug C:\Users\MCSIMUSIC\AndroidStudioProjects\TestMcSiRun\TestMcSiRun\build\pre-dexed \debug\classes-2b5c8c8b2a23992eb9323b131861658b5a6c4592.jar C:\Users\MCSIMUSIC\AndroidStudioProjects\TestMcSiRun\TestMcSiRun\build\pre-dexed\debug\classes-442363482f1c8783c26a5e38b6ee593d3f54a067.jar C:\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-00a4eeb2a43f491f4d8b1d7928. 错误代码: 2 输出: 意外的顶级异常: com.android.dex.DexException:多个dex文件定义了Lcom/google/ads/AdRequest$ErrorCode; 在 com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594) 在 com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552) 在 com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533) 在 com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170) 在 com.android.dx.merge.DexMerger.merge(DexMerger.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)

我做错了什么? 我的 build.gradle:

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')
}

【问题讨论】:

  • 您已包含两个具有 com.google.ads.AdRequest 的库。请将您的 build.gradle 文件添加到您的问题中。另见stackoverflow.com/questions/22262344/…
  • 是的,你是对的,build.gradle 中有两个相同的依赖项: compile 'com.google.android.gms:play-services:4.0.30' compile files('libs/google -play-services.jar')。我尝试在项目中添加谷歌播放服务库,因为我的应用程序要求下载这些文件,但我想用 apk 文件发送这些库,有可能吗?对不起我的语言=)

标签: android-studio google-play-services


【解决方案1】:

你有这样的东西:

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 中包含正确的库。

【讨论】:

  • 我的设备在尝试显示地图时要求安装库,可以吗?没有它就不可能吗?
  • 让它安装库可以吗?此行为是 Play Services 内置的,属于正常现象;它需要安装兼容版本的 Google Play 服务应用程序。在大多数人的设备上,至少是那些拥有 Google Play 商店应用程序的设备,系统会自动下载并安装该应用程序并保持最新状态。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-18
  • 1970-01-01
  • 1970-01-01
  • 2018-08-08
  • 2014-06-01
相关资源
最近更新 更多