我的应用程序使用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()上