首页 > 解决方案 > 使用不同的 google-services.json 签名的 apk 版本时,Android 应用程序冻结

问题描述

我有 2 个不同的 Firebase 项目,一个用于开发,一个用于开发。此外,每种构建类型都有 2 个不同的 google-services.json。

当我使用调试器时,一切正常。当我更改为发布时,应用程序冻结甚至无法启动。

我已经更改了 google-services.json 并在发布中复制了调试一数据,更改了发布应用 ID 名称以将其添加到开发一。我签署了应用程序,然后构建它并且它正在运行,应用程序不会冻结并且可以访问 Dev Firebase。

到底是怎么回事?很长一段时间我都没有触及 json 文件中的任何内容。

09-14 10:46:16.943 6927-6927/? I/applabs.sharif: Late-enabling -Xcheck:jni
09-14 10:46:17.024 6927-6927/es.sharifyapplabs.sharify W/ActivityThread: Application es.sharifyapplabs.sharify is waiting for the debugger on port 8100...
09-14 10:46:17.025 6927-6927/es.sharifyapplabs.sharify I/System.out: Sending WAIT chunk
09-14 10:46:18.226 6927-6927/es.sharifyapplabs.sharify I/System.out: Debugger has connected
09-14 10:46:18.227 6927-6927/es.sharifyapplabs.sharify I/System.out: waiting for debugger to settle...
09-14 10:46:18.427 6927-6927/es.sharifyapplabs.sharify I/System.out: waiting for debugger to settle...
09-14 10:46:18.627 6927-6927/es.sharifyapplabs.sharify I/System.out: waiting for debugger to settle...
09-14 10:46:19.028 6927-6927/es.sharifyapplabs.sharify I/chatty: uid=10665(es.sharifyapplabs.sharify) identical 2 lines
09-14 10:46:19.228 6927-6927/es.sharifyapplabs.sharify I/System.out: waiting for debugger to settle...
09-14 10:46:19.428 6927-6927/es.sharifyapplabs.sharify I/System.out: waiting for debugger to settle...
09-14 10:46:20.830 6927-6927/es.sharifyapplabs.sharify I/chatty: uid=10665(es.sharifyapplabs.sharify) identical 7 lines
09-14 10:46:21.030 6927-6927/es.sharifyapplabs.sharify I/System.out: waiting for debugger to settle...
09-14 10:46:21.230 6927-6927/es.sharifyapplabs.sharify I/System.out: debugger has settled (1395)
09-14 10:46:21.244 6927-6927/es.sharifyapplabs.sharify I/applabs.sharif: The ClassLoaderContext is a special shared library.
09-14 10:46:21.754 6927-6927/es.sharifyapplabs.sharify I/MultiDex: VM with version 2.1.0 has multidex support
    Installing application
    VM has multidex support, MultiDex support library is disabled.
    Installing application
    VM has multidex support, MultiDex support library is disabled.
09-14 10:46:21.840 6927-6927/es.sharifyapplabs.sharify V/FA: Registered activity lifecycle callback
09-14 10:46:21.920 6927-7084/es.sharifyapplabs.sharify W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
09-14 10:46:21.927 6927-6927/es.sharifyapplabs.sharify D/FirebaseApp: com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization.
09-14 10:46:21.927 6927-6927/es.sharifyapplabs.sharify I/FirebaseInitProvider: FirebaseApp initialization successful
09-14 10:46:21.950 6927-7086/es.sharifyapplabs.sharify W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
09-14 10:46:21.989 6927-7086/es.sharifyapplabs.sharify I/FirebaseAuth: [FirebaseAuth:] Loading module via FirebaseOptions.
    [FirebaseAuth:] Preparing to create service connection to gms implementation
09-14 10:46:22.066 6927-6927/es.sharifyapplabs.sharify I/CrashlyticsCore: Initializing Crashlytics 2.6.1.23
09-14 10:46:22.092 6927-6927/es.sharifyapplabs.sharify I/CrashlyticsInitProvider: CrashlyticsInitProvider initialization successful
09-14 10:46:22.150 6927-6927/es.sharifyapplabs.sharify E/com.facebook.internal.AttributionIdentifiers: getAttributionIdentifiers should not be called from the main thread
09-14 10:46:22.298 6927-7106/es.sharifyapplabs.sharify D/NetworkSecurityConfig: No Network Security Config specified, using platform default
09-14 10:46:22.558 6927-7079/es.sharifyapplabs.sharify V/FA: Collection enabled
09-14 10:46:22.559 6927-7079/es.sharifyapplabs.sharify V/FA: App package, google app id: es.sharifyapplabs.sharify, 1:494515588712:android:4cee37df0265c687
09-14 10:46:22.560 6927-7079/es.sharifyapplabs.sharify I/FA: App measurement is starting up, version: 13001
09-14 10:46:22.561 6927-7079/es.sharifyapplabs.sharify I/FA: To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
    To enable faster debug mode event logging run:
      adb shell setprop debug.firebase.analytics.app es.sharifyapplabs.sharify
09-14 10:46:22.561 6927-7079/es.sharifyapplabs.sharify D/FA: Debug-level message logging enabled
09-14 10:46:22.715 6927-7079/es.sharifyapplabs.sharify V/FA: Connecting to remote service
09-14 10:46:22.771 6927-7079/es.sharifyapplabs.sharify V/FA: Connection attempt already in progress
09-14 10:46:32.834 6927-7101/es.sharifyapplabs.sharify W/Fabric: Could not call getAdvertisingIdInfo on com.google.android.gms.ads.identifier.AdvertisingIdClient
09-14 10:46:32.838 6927-7101/es.sharifyapplabs.sharify W/Fabric: Could not call getId on com.google.android.gms.ads.identifier.AdvertisingIdClient$Info
09-14 10:46:42.916 6927-7101/es.sharifyapplabs.sharify W/Fabric: Could not call getAdvertisingIdInfo on com.google.android.gms.ads.identifier.AdvertisingIdClient
09-14 10:46:42.920 6927-7101/es.sharifyapplabs.sharify W/Fabric: Could not call isLimitAdTrackingEnabled on com.google.android.gms.ads.identifier.AdvertisingIdClient$Info
09-14 10:46:44.431 6927-7088/es.sharifyapplabs.sharify D/skia: --- Failed to create image decoder with message 'unimplemented'
09-14 10:46:51.915 6927-7082/es.sharifyapplabs.sharify E/FirebaseInstanceId: Token retrieval failed: SERVICE_NOT_AVAILABLE

标签: androidfirebasegoogle-play-servicesrelease

解决方案


好吧,上面写着:

FirebaseInstanceId:令牌检索失败:SERVICE_NOT_AVAILABLE

因为FirebaseInstanceIdService不推荐使用检索令牌。

赞成onNewTokenFirebaseMessagingService. 实施后,可以安全地删除此服务。

您需要相应地重构您的代码。


推荐阅读