私はAndroidアプリプロジェクトをGCM
からFCM
に移行しています。これには、Android StudioでFirebaseアシスタントツールを使用しますそして、Google開発者ガイドの指示に従いました。すべてが順調に進み、アシスタントツールに従ってFCM
のアプリコードを変更しました。ここで、アプリを実行してテストするときです。次の奇妙なエラーが発生しました:
com.google.Android.gms.internal.zzbfmが見つからないため、zzbfmクラスファイルにアクセスできません
Googleマップを使用してマーカーの位置を設定しようとすると、このエラーが発生します。これが私のアプリレベルのgradleです:
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.Android.application'
apply plugin: 'io.fabric'
repositories {
maven { url 'https://maven.fabric.io/public' }
mavenCentral()
maven { url 'https://dl.bintray.com/kennyc1012/maven' }
}
Android {
signingConfigs {
msapp {
}
}
compileSdkVersion 26
buildToolsVersion '27.0.3'
defaultConfig {
applicationId "com.package"
minSdkVersion 16
targetSdkVersion 28
multiDexEnabled true
useLibrary 'org.Apache.http.legacy'
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
renderscriptTargetApi 18
renderscriptSupportModeEnabled true
}
dexOptions {
javaMaxHeapSize "4g"
}
buildTypes {
release {
lintOptions {
checkReleaseBuilds false
abortOnError false
}
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
//Default
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.google.firebase:firebase-messaging:11.8.0'
testImplementation 'junit:junit:4.12'
//modules
implementation 'com.facebook.Android:facebook-Android-sdk:4.+'
//jar files
implementation files('libs/classes.jar')
implementation files('libs/YouTubeAndroidPlayerApi.jar')
//google repos
implementation 'com.Android.support:appcompat-v7:26.0.0'
implementation 'com.Android.support:support-v4:26.0.0'
implementation 'com.Android.support:recyclerview-v7:26.0.0'
implementation 'com.google.Android.gms:play-services:11.8.0'
implementation 'com.google.Android.gms:play-services-analytics:11.8.0'
implementation 'com.google.Android.gms:play-services-maps:11.8.0'
implementation 'com.Android.support:design:26.0.0'
//square lib
implementation 'com.squareup.retrofit2:converter-gson:2.0.0'
//compile 'com.squareup.leakcanary:leakcanary-Android:1.5'
//text manupulation
implementation 'commons-lang:commons-lang:2.6'
//permission library.
implementation 'com.karumi:dexter:5.0.0'
implementation 'com.google.firebase:firebase-core:16.0.3'
}
apply plugin: 'com.google.gms.google-services'
To resolve your problem, first i will ask you to always use specified and updated version.
1. Replace + with specific version here : classpath 'io.fabric.tools:gradle:1.25.4'
2. Try to use same version for now to run the apk,
compileSdkVersion 27
buildToolsVersion '27.0.3'
targetSdkVersion 27
implementation 'com.Android.support:appcompat-v7:27.1.1'
implementation 'com.Android.support:support-v4:27.1.1'
implementation 'com.Android.support:recyclerview-v7:27.1.1'
3. Use updated version of google play service
implementation 'com.google.Android.gms:play-services:16.0.3'
implementation 'com.google.Android.gms:play-services-analytics:16.0.3'
implementation 'com.google.Android.gms:play-services-maps:15.0.1'
This will fix your problem.
FirebaseとGoogleライブラリを同じバージョンに変更してください。このような例の場合
implementation 'com.google.Android.gms:play-services:12.0.1'
implementation 'com.google.Android.gms:play-services-analytics:12.0.1'
implementation 'com.google.Android.gms:play-services-maps:12.0.1'
//your firebase lib version to the same version
implementation 'com.google.firebase:firebase-core:12.0.1'
ほとんどの場合、play-servicesとfirebaseのバージョンの依存関係をアップグレードする必要があります。androidxを使用している場合は、最後のバージョンを使用できますが、そうでない場合:
maven_repository を確認して、修正に役立つバージョンを選択してください。例えば:
implementation 'com.google.Android.gms:play-services-analytics:16.0.8'
implementation 'com.google.Android.gms:play-services-maps:16.1.0'
implementation 'com.google.firebase:firebase-messaging:15.0.2'
選択したバージョンは、v17.0.0のためにバージョン17より前の最後のバージョンです(android-xが必要です(play-service内))
Build.gradle(project)でgoogle-serviceを更新することを忘れないでください
classpath 'com.google.gms:google-services:4.3.0'
AndroidXの移行後に同じ問題が発生しましたgms libraryのバージョンをmaps and locationのように変更することで解決しました
implementation 'com.google.Android.gms:play-services-maps:15.0.1'
implementation 'com.google.Android.gms:play-services-location:15.0.1'
最新SDKバージョン に関する公式ドキュメントによると、次のコード行を変更してください:
implementation 'com.google.firebase:firebase-messaging:11.8.0'
に
implementation 'com.google.firebase:firebase-messaging:17.3.1'
そして、 Google Play Servicesのセットアップ に関する公式ドキュメントに従って、次のコード行を変更してください:
implementation 'com.google.Android.gms:play-services:11.8.0'
implementation 'com.google.Android.gms:play-services-analytics:11.8.0'
implementation 'com.google.Android.gms:play-services-maps:11.8.0'
に
//implementation 'com.google.Android.gms:play-services:11.8.0' //Commented line
implementation 'com.google.Android.gms:play-services-analytics:16.0.3'
implementation 'com.google.Android.gms:play-services-maps:15.0.1
また、必ず持ってください:
classpath 'com.google.gms:google-services:4.1.0'
トップレベルbuild.gradle
ファイル。