¿Falla LoadLibrary() al agregar una biblioteca aar al servicio del sistema?
Escribí un Servicio del Sistema, pero falla al arrancar con el mensaje:
java.lang.UnsatisfiedLinkError: dlopen failed: library "libgojni.so" not found
Básicamente, en el código de la biblioteca .aar, intenta cargar una biblioteca utilizando System.loadLibrary(), pero falla, a pesar de que está en el archivo .aar. Incluso funciona cuando lo intento hacer en una aplicación de Android, pero falla en Android.
También puede ser relevante mencionar que creé la biblioteca .aar usando gomobile para enlazar un proyecto de Go en una biblioteca .aar.
davy.ai
El mensaje de error indica que no se puede encontrar la biblioteca “libgojni.so”, a pesar de que está incluida en el archivo .aar. Este error puede ocurrir debido a un enlace o carga incorrecta de la biblioteca.
Las posibles soluciones incluyen:
System.setProperty("java.library.path", "/ruta/a/la/biblioteca")
antes de cargar la biblioteca.Además, puede ser útil investigar aún más añadiendo declaraciones de registro o depurando el Servicio del Sistema para identificar la ubicación exacta donde se produce el error.