如何解决应用启动问题-应用停留在白屏上

时间:2018-08-31 08:19:32

标签: android

我检查了错误日志,它显示:

08-31 13:36:18.778 13207-13207/? I/art: Late-enabling -Xcheck:jni
08-31 13:36:18.877 13207-13207/com.knowyourmeds D/FirebaseApp: com.google.firebase.auth.FirebaseAuth is not linked. Skipping initialization.
08-31 13:36:18.888 13207-13207/com.knowyourmeds D/FirebaseApp: com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization.
08-31 13:36:18.902 13207-13207/com.knowyourmeds V/FA: Cancelling job. JobID: 380685678
08-31 13:36:18.904 13207-13207/com.knowyourmeds V/FA: Registered activity lifecycle callback
08-31 13:36:18.905 13207-13207/com.knowyourmeds I/FirebaseInitProvider: FirebaseApp initialization successful
08-31 13:36:18.937 13207-13224/com.knowyourmeds V/FA: Collection enabled
08-31 13:36:18.938 13207-13224/com.knowyourmeds V/FA: App package, google app id: com.knowyourmeds, 1:694023459332:android:ffd849037d9dc14b
08-31 13:36:18.939 13207-13224/com.knowyourmeds I/FA: App measurement is starting up, version: 11910
    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 com.knowyourmeds
08-31 13:36:18.939 13207-13224/com.knowyourmeds D/FA: Debug-level message logging enabled
08-31 13:36:18.956 13207-13224/com.knowyourmeds V/FA: Connecting to remote service
08-31 13:36:18.980 13207-13207/com.knowyourmeds I/CrashlyticsCore: Initializing Crashlytics 2.6.1.23
08-31 13:36:18.999 13207-13224/com.knowyourmeds V/FA: Connection attempt already in progress
08-31 13:36:19.008 13207-13207/com.knowyourmeds I/CrashlyticsInitProvider: CrashlyticsInitProvider initialization successful
08-31 13:36:19.018 13207-13207/com.knowyourmeds E/com.facebook.internal.AttributionIdentifiers: getAttributionIdentifiers should not be called from the main thread
08-31 13:36:19.025 13207-13243/com.knowyourmeds D/NetworkSecurityConfig: No Network Security Config specified, using platform default
08-31 13:36:48.923 13207-13223/com.knowyourmeds E/FirebaseInstanceId: Token retrieval failed: SERVICE_NOT_AVAILABLE

我还尝试清理项目,重新启动Android Studio并从设备中删除了该应用。

我应该如何解决此问题?

6 个答案:

答案 0 :(得分:25)

我刚刚解决了这个问题。出现此问题的原因是,您使用“ com.facebook.android:facebook-android-sdk:4.+”、Facebook自动更新并在SDK中出现错误。更改版本可以解决问题。

使用:

com.facebook.android:facebook-android-sdk:4.35.0

答案 1 :(得分:19)

似乎有一些facebook SDK错误。我今天得到了相同的结果,并通过将gradle文件中的动态版本替换为稳定版来解决了该问题。

替换此:

implementation "com.facebook.android:facebook-android-sdk:[4,5)"

对此:

implementation "com.facebook.android:facebook-android-sdk:4.35.0"

4.35.0是来自Facebook GitHub https://github.com/facebook/facebook-android-sdk

的SDK的稳定版本。

答案 2 :(得分:8)

尝试以下方法:
 1.在您的应用程序级别gradle中,您必须使用实现“ com.facebook.android:facebook-android-sdk:[4,5)”
 2.尝试删除它或升级到最新的SDK

答案 3 :(得分:3)

只需将FacebookSDK恢复到4.35.0。版本4.36.0导致卡在主线程中。

  

E / com.facebook.internal.AttributionIdentifiers:不应从主线程调用getAttributionIdentifiers

答案 4 :(得分:1)

我认为您应该仔细观察这一行:

extension CheckoutViewController: CheckoutAddressCellActionDelegate {
    func didUpdateLayout(forCell cell: UITableViewCell) {
        if let indexPath = tableView.indexPath(for: cell) {
            tableView.reloadRows(at: [indexPath], with: .automatic)
        }
    }
}

我认为您应该尝试创建一个AsyncTask来调用此方法,以及任何其他需要大量处理(网络,计算等)的调用。 目前,您的用户界面正在等待所有处理完成,然后再绘制。

这来自推测,取决于您的代码组织,但这是最合理的解释。

答案 5 :(得分:1)

  

我遇到了这个图书馆为我工作的同样问题,因为这是Facebook   稳定版本。

     

编译'com.facebook.android:facebook-android-sdk:4.35.0'