如何在 Android 中使用 Firebase?
How to use Firebase in Android?
将 Firebase 添加到我的应用程序后,gradle 问题让我很生气,
我收到错误:
class 找不到 com.google.android.gms.internal.zzbgl 的文件
我正在使用 android location 和 url stringRequest,直到那时它运行良好,然后我将 Firebase 添加到 gradle(我已经在 Firebase 网站上注册并添加生成的 google-services.json)
我检查了很多没有帮助的答案,我已经更新 gradle 到 3.4.2 仍然无法正常工作
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
buildToolsVersion "28.0.3"
defaultConfig {
applicationId "com.example.mapwithmarker"
minSdkVersion 22
targetSdkVersion 26
versionCode 1
versionName "1.0"
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
resValue "string", "google_maps_key", (project.findProperty("GOOGLE_MAPS_API_KEY") ?: "")
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.google.android.gms:play-services:12.0.1'
implementation 'com.mcxiaoke.volley:library:1.0.19'
implementation 'com.google.firebase:firebase-core:17.0.1'
testImplementation 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
google()
//maven {
// url "https://maven.google.com"
//}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.2'
classpath 'com.google.gms:google-services:4.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
google()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
有什么帮助吗?
您应该始终使用兼容版本的 firebase 和 play-services 库。版本应该会同时发布。
在这种情况下
更改此行:
implementation 'com.google.android.gms:play-services:12.0.1'
有了这个:
implementation 'com.google.android.gms:play-services:17.0.1'
或者按照这个:
工具 -> Firebase -> 选择你的库 -> 按照说明操作
所述
“不要使用组合的 play-services 目标。它引入了数十个库,使您的应用程序膨胀。相反,仅指定您的应用使用的特定 Google Play 服务 API。”
您不应使用组合播放服务库。而是尝试使用您需要的特定库并尝试将特定库更新到 17.0.0
修正者:
...
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.google.android.gms:play-services:12.0.1'
implementation 'com.mcxiaoke.volley:library:1.0.19'
implementation 'com.google.firebase:firebase-core:12.0.1'
testImplementation 'junit:junit:4.12'
}
//apply plugin: 'com.google.gms.google-services'
谢谢
将 Firebase 添加到我的应用程序后,gradle 问题让我很生气, 我收到错误: class 找不到 com.google.android.gms.internal.zzbgl 的文件
我正在使用 android location 和 url stringRequest,直到那时它运行良好,然后我将 Firebase 添加到 gradle(我已经在 Firebase 网站上注册并添加生成的 google-services.json)
我检查了很多没有帮助的答案,我已经更新 gradle 到 3.4.2 仍然无法正常工作
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
buildToolsVersion "28.0.3"
defaultConfig {
applicationId "com.example.mapwithmarker"
minSdkVersion 22
targetSdkVersion 26
versionCode 1
versionName "1.0"
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
resValue "string", "google_maps_key", (project.findProperty("GOOGLE_MAPS_API_KEY") ?: "")
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.google.android.gms:play-services:12.0.1'
implementation 'com.mcxiaoke.volley:library:1.0.19'
implementation 'com.google.firebase:firebase-core:17.0.1'
testImplementation 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
google()
//maven {
// url "https://maven.google.com"
//}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.2'
classpath 'com.google.gms:google-services:4.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
google()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
有什么帮助吗?
您应该始终使用兼容版本的 firebase 和 play-services 库。版本应该会同时发布。
在这种情况下
更改此行:
implementation 'com.google.android.gms:play-services:12.0.1'
有了这个:
implementation 'com.google.android.gms:play-services:17.0.1'
或者按照这个:
工具 -> Firebase -> 选择你的库 -> 按照说明操作
“不要使用组合的 play-services 目标。它引入了数十个库,使您的应用程序膨胀。相反,仅指定您的应用使用的特定 Google Play 服务 API。”
您不应使用组合播放服务库。而是尝试使用您需要的特定库并尝试将特定库更新到 17.0.0
修正者: ...
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.google.android.gms:play-services:12.0.1'
implementation 'com.mcxiaoke.volley:library:1.0.19'
implementation 'com.google.firebase:firebase-core:12.0.1'
testImplementation 'junit:junit:4.12'
}
//apply plugin: 'com.google.gms.google-services'
谢谢