当前位置: 首页 > 知识库问答 >
问题:

LIBGDX FreeTypeFontGenerator-在Android上崩溃

谭兴学
2023-03-14

我一直在尝试将. ttf字体添加到我的android移动应用程序中。我正在使用Libgdx引擎创建我的应用程序,并尝试添加True Type扩展以允许使用. ttf字体。这是我正在运行以尝试创建字体的代码。

FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("data/fonts/font.ttf"));
BitmapFont font = generator.generateFont(12);
generator.dispose();

当我调用这段代码时,我的应用程序会给我不幸的是,X已经停止了。消息,没有其他信息。我已经在核心和android项目中包含了gdx-freetype-sources.jargdx-freetype.jar。我已经单击了在这两个项目上导出它们的选项。我已经在armeabiarmeabi-v7a文件夹中包含了两个libgdx-freetype.so文件。

谁能告诉我为什么这行不通?

编辑:“LogCat”中有我的错误输出代码

04-19 15:33:08.479: E/AndroidRuntime(31195): FATAL EXCEPTION: GLThread 7533
04-19 15:33:08.479: E/AndroidRuntime(31195): Process: com.zach.nice, PID: 31195
04-19 15:33:08.479: E/AndroidRuntime(31195): java.lang.NoSuchFieldError: com.badlogic.gdx.graphics.g2d.BitmapFont$Glyph.id
04-19 15:33:08.479: E/AndroidRuntime(31195):    at com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.generateData(FreeTypeFontGenerator.java:288)
04-19 15:33:08.479: E/AndroidRuntime(31195):    at com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.generateFont(FreeTypeFontGenerator.java:137)
04-19 15:33:08.479: E/AndroidRuntime(31195):    at com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.generateFont(FreeTypeFontGenerator.java:148)
04-19 15:33:08.479: E/AndroidRuntime(31195):    at com.zach.nice.Nice.create(Nice.java:53)
04-19 15:33:08.479: E/AndroidRuntime(31195):    at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:292)
04-19 15:33:08.479: E/AndroidRuntime(31195):    at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1512)
04-19 15:33:08.479: E/AndroidRuntime(31195):    at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)

共有1个答案

从开济
2023-03-14

最近我遇到了同样的问题。最新的freetypefonbuild正在使用更新版本的libgdx,其中有一些巨大的变化。在Glyph类中添加id字段就是其中之一。您所要做的就是将项目中的所有libgdx jar更新为更新的。

以下是最新版本的链接

可能您还需要对代码进行一些更改,因为最近libgdx有很多更改

 类似资料:
  • 错误消息说 用户10093和当前进程都没有android.permission.ACCESS_NETWORK_STATE 我在清单中添加了“android.permission.ACCESS_NETWORK_STATE”: 为什么会发生这种情况?我如何修复它?我在模仿NexusOne-2.3.7API10 代码剪切: 整个错误日志: 04-27 22:26:13.781 1522-1522/com

  • 我开发了一个使用原生C库的Android应用程序。我可以成功地用JNI编译整个程序,一切都很顺利。 然而,本机C库偶尔会崩溃(最常见的是SIGSEGV)。这反过来会导致我的应用程序崩溃,而不会对用户发出任何有意义的通知。我希望实现以下目标: 使用信号处理程序(sigaction)捕获本机代码中的信号,以防止随机崩溃 在 C 库中抛出 Java 可以捕获的异常 在 Java 中捕获异常,为用户生成有

  • 我的应用程序在Lolipop设备上运行得很好,但在Kit Kat版本上甚至无法打开。它告诉我“不幸的是,应用程序已经停止了”。由于它还没有打开,我对这个问题毫无头绪。 你知道什么会导致与吉吉如此不兼容吗? 在Android/app/build.gradle中 编辑1:没有MultiDex应用程序不能编译。在果冻豆上的错误也是一样的。以下是日志: 致命异常:AsyncTask#1java.lang.

  • 我更新了我的SDK,播放服务等等,最近。当我在带有Lollipop前Android的设备/模拟器上运行我的应用程序时,它会立即出现以下错误: 我连火力点都不用!以下是我的分级:

  • 我的应用程序运行良好,但自从Android Oreo来到Google Pixel XL后,它一直崩溃,随之而来的是异常堆栈跟踪