Comencé a usar libgdx y he estado tratando de hacer que la fuente de tipo libre funcione en Android, pero no importa cuánto lo intente, parece que no puedo hacerlo funcionar. Mi aplicación funcionaba perfectamente bien hasta que intenté usar freetypefont. He puesto las extensiones como se indica en el sitio web de libgdx. La aplicación se bloquea o deja de funcionar tan pronto como se inicia.
La consola dice que no se pudo cargar la biblioteca compartida gdx-freetype para Linux objetivo de 32 bits. Siento que lo he probado todo. Puse los dos archivos nativos de tipo libre y tipo libre en las bibliotecas principales del juego, los puse en el escritorio y solo puse el de tipo libre en la biblioteca de Android. He usado los últimos archivos nightly build .so para las carpetas armeabi y todavía nada. También he incluido el archivo nightly build .so para la carpeta x86 como se sugiere aquí y todavía nada. Si alguien tiene algo sobre esto, por favor ayuda. Gracias.
Debe agregar lo que se enumera aquí para cada dependencia del proyecto en su archivo build.gradle .
implementación "com.badlogicgames.gdx:gdx-freetype:$gdxVersion"
nativos "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi"
nativos "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi-v7a"
nativos "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-arm64-v8a"
nativos "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86"
nativos "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86_64"
Tengo un juego que usa las mismas bibliotecas funcionando bien. Aquí está la información de la biblioteca (usando 'archivo') para las bibliotecas que funcionan:
libs/armeabi/libgdx-freetype.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, stripped libs/armeabi-v7a/libgdx-freetype.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, strippedVerifique que tenga las bibliotecas adecuadas y que debería funcionar bien. FWIW, estoy ejecutando los nightlies (1.0-SNAPSHOT).
También es posible que desee verificar que está ejecutando ARM Android, ya que para eso están esas bibliotecas. Si está ejecutando en Android x86, no estoy seguro de que la extensión de tipo libre sea compatible.
El problema que tuve fue que, por alguna razón, libgdx.so no se copió en ninguna de las armeabi , armeabi-v7a o x86 en la carpeta lib del proyecto de Android.
Copiarlos de la distribución libgdx funcionó para mí.
El programa setup-ui simplemente copia las cosas de la distribución libgdx para usted. Puede encontrar estas carpetas allí.