android - 使用可下载字体 E/Minikin 时出错:addFont 未能创建字体
问题描述
我按照文档为 Roboto 字体系列添加了可下载的字体。但我无法在整个应用程序范围内应用字体系列。我反复收到此错误:
E/Minikin: addFont failed to create font /data/user/0/<package_name>/cache/.font1091-1091-0
我从 Android Studio GUI 添加了三种字体,它在字体目录中填充了所有必需的文件,在值目录中填充了证书。这是字体资源文件之一:
字体/roboto_italic.xml
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:app="http://schemas.android.com/apk/res-auto"
app:fontProviderAuthority="com.google.android.gms.fonts"
app:fontProviderPackage="com.google.android.gms"
app:fontProviderQuery="name=Roboto&weight=300"
app:fontProviderCerts="@array/com_google_android_gms_fonts_certs">
</font-family>
然后我创建了一个字体系列资源文件:
字体/app_font_family.xml
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:app="http://schemas.android.com/apk/res-auto">
<font app:fontStyle="normal" app:fontWeight="400" app:font="@font/roboto_regular"/>
<font app:fontStyle="italic" app:fontWeight="400" app:font="@font/roboto_italic" />
<font app:fontStyle="normal" app:fontWeight="700" app:font="@font/roboto_medium"/>
</font-family>
最后,为了应用 font-family 应用程序,我在我的应用程序主题中添加了以下内容:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
...
<item name="fontFamily">@font/app_font_family</item>
</style>
没有任何字体正在加载。电话有互联网连接和权限。
我在 logcat 中反复收到错误:
12-30 22:19:52.475 1091-1091/<package_name> E/Minikin: addFont failed to create font /data/user/0/<package_name>/cache/.font1091-1091-0
我在这里和这里发现了类似的问题。我已按照第一个链接中的评论的建议设置了 READ 和 WRITE 外部存储权限,但无济于事。我用 android 命名空间为 fontFamily 属性添加前缀仍然没有运气。
<item name="android:fontFamily">@font/app_font_family</item>
targetSdkVersion 是 26。我正在使用支持库版本 26.1.0
我的手机有Play Services 版本 14。(这篇文章提到需要11+版本)
我想应用应用程序范围的自定义字体而不捆绑在 apk 中,但我看不到它工作。有人可以帮我解决这个问题吗?
更新: 在任何 TexView 或 textAppearance 样式上设置字体时使用:
app:fontFamily="@font/app_font_family"
andriod:textStyle="normal"
错误仍然出现,字体未在应用程序范围内应用。
解决方案
推荐阅读
- sql - 排除滚动平均值中的值(删除高值和低值)按子句分区
- javascript - 反应自动红绿灯
- vue.js - 收到此错误:“属性或方法未在实例上定义,但在渲染期间引用”
- reactjs - 为什么侧边栏在 React.js 的左侧和右侧没有粘性或固定?
- r - 根据多个条件更改单元格值
- error-handling - 如何匹配因加入期货而导致的多种不同错误类型?
- django - 如何从其他应用程序自动获取模型字段类型、其属性和大小?
- sqlite - 从具有多个插入值的单元格中获取单个值乘以来自具有多个插入值的另一个单元格中的单个值
- rubygems - gem yank (<3.1.0) 返回“您已启用多因素身份验证,但未提供 OTP 代码”但您无法在命令行上提供
- python - 如何从具有根据日期更改的动态 URL 的多个 CSV 文件下载数据?