1)当我用Google地图编译Firebase时,它不起作用。
2)如果我只使用Firebase或Google API,那么它对我有用。
3)但我想同时使用这两件事。
4)对于我正在使用的Firebase:
compile 'com.google.firebase:firebase-messaging:10.0.1'
compile 'com.google.firebase:firebase-core:10.0.1'
}
apply plugin: 'com.google.gms.google-services'
5)对于谷歌地图
compile 'com.google.android.gms:play-services:10.0.1'
6)它给了我错误:
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.fc21.x86_64/bin/java'' finished with non-zero exit value 3
请在下面查看我的Gradle文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.xyz.ProjectName"
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:25.1.0'
compile 'com.android.support:design:25.1.0'
compile 'com.android.support:recyclerview-v7:25.1.0'
// ImageLoader
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
// Map
compile 'com.google.android.gms:play-services:10.0.1'
compile 'com.google.maps.android:android-maps-utils:0.3+'
// Spinner
compile 'com.jaredrummler:material-spinner:1.1.0'
// Volley
compile 'com.android.volley:volley:1.0.0'
//Firebase
compile 'com.google.firebase:firebase-messaging:10.0.1'
compile 'com.google.firebase:firebase-core:10.0.1'
//CropImage
compile project(':CropImage')
}
apply plugin: 'com.google.gms.google-services'
答案 0 :(得分:3)
您可以按照Naitik的回答中的建议为Multidex配置应用,或者仅包含您需要的Google Play API。此API列表位于Play Services Setup Guide的表1 中。如果您只需要地图,请进行此更改:
// Map
//compile 'com.google.android.gms:play-services:10.0.1'
compile 'com.google.android.gms:play-services-maps:10.0.1'
compile 'com.google.maps.android:android-maps-utils:0.3+'
注意:如果您选择Multidex,则还必须更新清单中Application
类的名称,为described here。
答案 1 :(得分:0)
您已使用以下代码启用了muldidex选项。
android {
defaultConfig {
...
minSdkVersion 15
targetSdkVersion 25
multiDexEnabled true
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.1'
}
答案 2 :(得分:0)
只需更改
"compile fileTree(dir: 'libs', include: ['*.jar'])"
到
"provided fileTree(dir: 'libs', include: ['*.jar'])".
它解决了我的问题。
答案 3 :(得分:0)
(这个答案并非针对OP,而是针对任何有类似问题的人。)
我遇到了同样的问题并且感到困惑,因为我认为我正确设置了依赖项,但Android Studio仍然会抛出错误。
好吧,在更改了依赖项的顺序(Firebase之前的Play服务)后,问题就消失了!
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
// ...
compile 'com.google.android.gms:play-services-maps:11.0.4'
compile 'com.google.firebase:firebase-messaging:10.0.1'
}
apply plugin: 'com.google.gms.google-services'