有我的动作:1)从我的项目中的" libs"目录中的SDK目录中添加文件google-play-services.jar。2)在我的项目中的build.gradle中添加依赖项" compile files('libs/google-play-services.jar')"(不在解决方案中)。同步项目已完成,但是在运行应用程序后,我会看到该错误:
执行任务失败':testmcsirun:dexdebug'。
com.android.ide.common.internal.loggederorexception:无法运行命令: D: sdk sdk sdk build-tools 19.0.2 dx.bat-dex-dex-ustput c: users mcSimusic androidstudioprojects androidStudioprojects androidSirun testmcsirun testmcsirun testmcsirun testmcsirun build build build build debe debug c: 错误代码: 2 输出: 意外的顶级例外: com.android.dex.dexexception:多个dex文件定义lcom/google/google/ads/adrequest $ errorcode; 在com.android.dx.merge.dexmerger.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.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')
}
您有类似的东西:
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中包含正确的库。