Запитання з тегом «java-native-interface»

Вбудований інтерфейс Java (JNI) надає як можливість реалізаціям JVM запускати власний код системи, так і можливість для власного коду запускати код Java (шляхом створення нових екземплярів JVM). Найпоширенішими цільовими мовами для JNI є C і C ++, для яких принаймні реалізації Sun / Oracle JDK надають допоміжні команди (javap - для розбирання коду, javah для генерації коду c).

30
Помилка завантаження спільної бібліотеки JNI (JDK)
Коли я намагаюся відкрити Eclipse , у спливаючому діалоговому вікні зазначено: Помилка завантаження спільної бібліотеки JNI "C: /JDK/bin/client/jvm.dll" `. Після цього сила затемнення закривається. Ось декілька моментів, які я хотів би зробити: Я перевірив, чи існує щось на цьому шляху. Воно існує. My Eclipse та Java SE Kit Kit - …

11
Як я можу дізнатися, чи працює я в 64-бітному JVM або 32-бітному JVM (з програми)?
Як я можу визначити, що JVM, в якому працює моя програма, 32-ти або 64-розрядний? Зокрема, які функції чи властивості я можу використовувати для виявлення цього в програмі?


3
Що робить дзвінки JNI повільними?
Я знаю, що "перетинання кордонів" під час здійснення дзвінка JNI на Яві відбувається повільно. Однак я хочу знати, що це робить це повільним? Що робить основна реалізація jvm при здійсненні виклику JNI, що робить його настільки повільним?

4
Як повернути масив з JNI на Java?
Я намагаюся використовувати андроїд NDK. Чи є спосіб повернути int[]на Яву масив (в моєму випадку an ), створений в JNI? Якщо так, будь ласка, надайте короткий приклад функції JNI, яка б це зробила. -Дякую



2
JNI перетворює jstring в char *
Я передав рядок URL від Java до коду С як jstringтип даних за допомогою JNI. І мій метод бібліотеки потребує char *URL-адреси. Як я можу перетворити jstringв char *? PS: Чи є якась перевага використання jcharArray в C? (тобто передача char []замість рядка в нативному методі)

6
Як зв’язати рідну бібліотеку та бібліотеку JNI всередині JAR?
Бібліотека, про яку йдеться, - Кабінет Токіо . Я хочу - мати рідну бібліотеку, бібліотеку JNI та всі класи Java API в одному файлі JAR, щоб уникнути головного болю при перерозподілі. Здається, у GitHub є спроба цього , але Він не включає фактичну рідну бібліотеку, лише бібліотеку JNI. Це, здається, …

15
невизначена посилання на `__android_log_print '
Що не так з моїм файлом 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-збірка foo.c:9: undefined reference to …

9
Як імпортувати клас із пакета за замовчуванням
Можливий дублікат: Як отримати доступ до java-класів у пакеті за замовчуванням? Я використовую Eclipse 3.5, і я створив проект із деякою структурою пакету разом із пакетом за замовчуванням. У мене є один клас у пакеті за замовчуванням - Calculations.java, і я хочу використовувати цей клас у будь-якому пакеті (наприклад, у …

4
Як я можу зловити SIGSEGV (помилка сегментації) і отримати трасування стека під JNI на Android?
Я переношу проект до нового Android Native Development Kit (тобто JNI), і я хотів би перехопити SIGSEGV, якщо це відбудеться (можливо, також SIGILL, SIGABRT, SIGFPE), щоб представити приємне діалогове вікно звітності про збої, а не (або раніше), що відбувається зараз: негайна безцеремонна смерть процесу і, можливо, якась спроба ОС перезапустити …

13
java.lang.UnsatisfiedLinkError no *****. dll у java.library.path
Як я можу завантажити власний файл DLL у свою веб-програму? Я спробував наступне: Скопіював усі необхідні dll у system32папку та спробував завантажити одну з них у ServletконструкторSystem.loadLibrary Необхідні dll скопійовано в tomcat_home/shared/libтаtomcat_home/common/lib Всі ці DLL знаходяться у WEB-INF/libвеб-додатку

2
Виклик методу Java з c ++ в Android
Я намагаюся отримати простий виклик методу Java із C ++, тоді як Java викликає власний метод. Ось код Java: public class MainActivity extends Activity { private static String LIB_NAME = "name"; static { System.loadLibrary(LIB_NAME); } /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { …

17
Як виправити UnsatisfiedLinkError (не вдається знайти залежні бібліотеки) у проекті JNI
Я працюю над проектом Java, який використовує JNI. JNI викликає власну бібліотеку, яку я написав сам, скажімо, mylib.dll, і це залежить від сторонньої бібліотеки libsndfile-1.dll. Коли я запускаю свою програму, вона аварійно завершує роботу java.lang.UnsatisfiedLinkError: C:\...path...\mylib.dll: Can't find dependent libraries. Я шукав цей сайт (та інші) і спробував ряд виправлень: …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.