Preguntas etiquetadas con java-native-interface

La interfaz nativa de Java (JNI) brinda la capacidad de que las implementaciones de JVM ejecuten código nativo del sistema y la capacidad de que el código nativo ejecute código Java (mediante la creación de nuevas instancias de JVM). Los lenguajes de destino más comunes para JNI son C y C ++, para los cuales al menos las implementaciones de Sun / Oracle JDK proporcionan comandos auxiliares (javap - para desensamblaje de código, javah para generación de código c).








2
JNI convirtiendo jstring a char *
He pasado una cadena de URL de Java al código C como jstringtipo de datos mediante el uso de JNI. Y mi método de biblioteca necesita una char *url. ¿Cómo puedo convertir jstringen char *? PD: ¿Hay alguna ventaja de usar jcharArray en C? (es decir, pasar en char []lugar …


15
referencia indefinida a `__android_log_print '
¿Qué pasa con mi archivo make? Android.mk LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := foo LOCAL_SRC_FILES := foo.c LOCAL_EXPORT_LDLIBS := -llog include $(BUILD_SHARED_LIBRARY) foo.c #include <string.h> #include <jni.h> #include <android/log.h> #define LOG_TAG "foo" #define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__) void test() { LOGI("test"); } ndk-build foo.c:9: undefined reference to `__android_log_print'





17
Cómo corregir un UnsatisfiedLinkError (no se pueden encontrar bibliotecas dependientes) en un proyecto JNI
Estoy trabajando en un proyecto de Java que usa JNI. El JNI llama a una biblioteca personalizada que yo mismo escribí, digamos mylib.dll, y eso depende de una biblioteca de terceros, libsndfile-1.dll. Cuando ejecuto mi programa, se bloquea java.lang.UnsatisfiedLinkError: C:\...path...\mylib.dll: Can't find dependent libraries. Busqué en este sitio (y en …

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.