EmojiCompat fetchFont结果不行

时间:2017-08-07 08:17:35

标签: android android-support-library

我的应用程序使用EmojiCompat进行字体下载(未捆绑),并且我的大量用户报告了以下错误:

Non-fatal Exception: java.lang.RuntimeException: fetchFonts result is not OK. (2)
   at android.support.text.emoji.FontRequestEmojiCompatConfig$FontRequestMetadataLoader.createMetadata(FontRequestEmojiCompatConfig.java:307)
   at android.support.text.emoji.FontRequestEmojiCompatConfig$FontRequestMetadataLoader.access$100(FontRequestEmojiCompatConfig.java:164)
   at android.support.text.emoji.FontRequestEmojiCompatConfig$FontRequestMetadataLoader$1.run(FontRequestEmojiCompatConfig.java:218)
   at android.os.Handler.handleCallback(Handler.java:739)
   at android.os.Handler.dispatchMessage(Handler.java:95)
   at android.os.Looper.loop(Looper.java:158)
   at android.os.HandlerThread.run(HandlerThread.java:61)

我找不到任何对此错误消息的引用,我不知道是什么导致它。我的猜测是这是Google Play服务字体下载的内部问题。

2017-11-13编辑:仍然在支持库27.0.0上发生。

2017-11-15编辑:我的配置。

在我的Application类上,onCreate():

val fontRequest = FontRequest(
        "com.google.android.gms.fonts",
        "com.google.android.gms",
        "Noto Color Emoji Compat",
        R.array.com_google_android_gms_fonts_certs)
val config = FontRequestEmojiCompatConfig(this, fontRequest)
config.setReplaceAll(true)
EmojiCompat.init(config)

使用表情符号解析文本:

EmojiCompat.get().registerInitCallback(object : EmojiCompat.InitCallback() {
    override fun onInitialized() {
        text = EmojiCompat.get().process(charSequence)
    }

    override fun onFailed(throwable: Throwable?) {
        throwable?.let { Crashlytics.logException(throwable) }
    }
})

以上异常记录在Crashlytics.logException()

1 个答案:

答案 0 :(得分:1)

问题与Google Play服务和网络连接更相关。为https://issuetracker.google.com/issues/64430424#comment8

创建的错误添加了评论