Articles of jni

Adjuntar a JVM ya en ejecución

¿Hay alguna forma de adjuntar a una JVM ya en ejecución? Por ejemplo, en JNI puede usar JNI_CreateJavaVM para crear una VM y ejecutar un jar e inspeccionar todas sus clases. Sin embargo, si el archivo jar ya se está ejecutando, no puedo encontrar una forma de adjuntarlo a su JVM y comunicarme con sus […]

Cómo vincular cualquier biblioteca en la aplicación ndk

De este tutorial veo que tengo una biblioteca estática preconstruida llamada stackoverflow.a y tiene stackoverflow.h ahora quiero usar la función de esa biblioteca estática en ndk_demo.c // ese tutorial tiene este archivo para eso dentro de ndk_demo.c he agregado #include ‘stackoverflow.h’ Editar inside `android-ndk-r7c` | apps | ndk_demo | —————– | | project Application.mk | […]

Cómo convierto jstring a wchar_t *

Digamos que en el lado C ++ mi función toma una variable de tipo jstring llamada myString . Puedo convertirlo en una cadena ANSI de la siguiente manera: const char* ansiString = env->GetStringUTFChars(myString, 0); hay una manera de conseguir const wchar_t* unicodeString = …

SQLite con Android NDK

¿Es de alguna manera posible usar SQLite con C ++ en un teléfono Android? No he encontrado ninguna documentación sobre cómo esto podría ser posible.

Llamando a C ++ dll desde Java

Estoy usando Java para una aplicación pequeña. Es una reescritura de un proyecto MFC existente. Existe una dll existente que necesito cambiar para habilitar el acceso desde Java usando JNI. Todas estas cosas de Java son nuevas para mí, así que estoy teniendo un pequeño problema y me siento bastante denso cuando leo otras publicaciones […]

Utilice bibliotecas jni de 32 bits en Android de 64 bits

Intenté ejecutar una aplicación usando una biblioteca nativa en el Nexus 9. La aplicación sale con un mensaje de error: java.lang.UnsatisfiedLinkError: dlopen failed: “lib_xyz.so” is 32-bit instead of 64-bit ¿Hay alguna solución conocida para este problema (excepto, por supuesto, volver a comstackr la biblioteca y hacer que la apk sea más grande)?

Error de Javah al usarlo en JNI

Mando: javah -jni JavaHowTo Resultado: error: cannot access JavaHowTo class file for JavaHowTo not found javadoc: error – Class JavaHowTo not found. Error: No classes were specified on the command line. Try -help. He establecido la ruta de clase correctamente, pero aún estoy recibiendo este error de javah . Cualquier solución para esto será de […]

Cómo encontrar pérdidas de memoria desde código nativo en Android

Me pregunto si alguien sabe cómo encontrar memory leaks en el código nativo de Android. La búsqueda en Google brinda mucha solución, pero ninguna está completa. Por favor, avíseme si alguien sabe cómo hacer esto.

FindClass de cualquier hilo en Android JNI

La página de consejos JNI de Android menciona estas preguntas frecuentes: ¿Por qué FindClass no encontró mi clase? Mencionan múltiples soluciones y la última opción es esta: Guarde en caché una referencia al objeto de ClassLoader en algún lugar útil y emita llamadas de loadClass directamente. Esto requiere un poco de esfuerzo. Entonces, traté de […]

Agregar nuevas rutas para bibliotecas nativas en tiempo de ejecución en Java

¿Es posible agregar una nueva ruta para bibliotecas nativas en tiempo de ejecución? (En lugar de iniciar Java con la propiedad java.library.path), una llamada a System.loadLibrary(nativeLibraryName) incluirá esa ruta cuando intente encontrar nativeLibraryName . ¿Es eso posible o estas rutas se congelan una vez que la JVM ha comenzado?