Domande taggate «java-native-interface»

Java Native Interface (JNI) offre sia la capacità per le implementazioni JVM di eseguire codice nativo del sistema sia la capacità del codice nativo di eseguire codice Java (creando nuove istanze JVM). I linguaggi di destinazione più comuni per JNI sono C e C ++, per i quali almeno le implementazioni JDK Sun / Oracle forniscono comandi di supporto (javap - per il disassemblaggio del codice, javah per la generazione del codice c).








2
JNI che converte jstring in char *
Ho passato una stringa URL da Java al codice C come jstringtipo di dati tramite l'uso di JNI. E il mio metodo di libreria ha bisogno di un char *URL. Come posso convertire jstringin char *? PS: c'è qualche vantaggio nell'usare jcharArray in C? (ovvero passaggio char []invece di stringa …


15
riferimento non definito a "__android_log_print"
Cosa c'è di sbagliato nel mio file 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 …


4
Come posso rilevare SIGSEGV (errore di segmentazione) e ottenere una traccia dello stack sotto JNI su Android?
Sto spostando un progetto nel nuovo Android Native Development Kit (cioè JNI) e vorrei catturare SIGSEGV, se dovesse verificarsi (possibilmente anche SIGILL, SIGABRT, SIGFPE) per presentare una bella finestra di dialogo di segnalazione di crash, invece di (o prima) ciò che accade attualmente: la morte immediata e senza cerimonie del …



17
Come risolvere un errore UnsatisfiedLinkError (impossibile trovare le librerie dipendenti) in un progetto JNI
Sto lavorando a un progetto Java che utilizza JNI. JNI chiama una libreria personalizzata che ho scritto io stesso, diciamo mylib.dll, e che dipende da una libreria di terze parti, libsndfile-1.dll. Quando eseguo il mio programma si blocca con java.lang.UnsatisfiedLinkError: C:\...path...\mylib.dll: Can't find dependent libraries. Ho cercato in questo sito …

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.