Поделиться через


Runtime.LoadLibrary(String) Метод

Определение

Загружает собственную библиотеку, указанную аргументом libname .

[Android.Runtime.Register("loadLibrary", "(Ljava/lang/String;)V", "GetLoadLibrary_Ljava_lang_String_Handler")]
public virtual void LoadLibrary (string? libname);
[<Android.Runtime.Register("loadLibrary", "(Ljava/lang/String;)V", "GetLoadLibrary_Ljava_lang_String_Handler")>]
abstract member LoadLibrary : string -> unit
override this.LoadLibrary : string -> unit

Параметры

libname
String

имя библиотеки.

Атрибуты

Исключения

Значение , если библиотека не может быть загружена, либо потому, что она не найдена или что-то не так.

Комментарии

Загружает собственную библиотеку, указанную аргументом libname . Аргумент libname не должен содержать определенный префикс платформы, расширение файла или путь. Если вызывается libname собственная библиотека статически связана с виртуальной машиной, вызывается функция JNI_OnLoad_libname , экспортируемая библиотекой. Дополнительные сведения см. в спецификации JNI.

В противном случае аргумент libname загружается из расположения системной библиотеки и сопоставляется с образом собственной библиотеки в зависимости от реализации.

Во-первых, если есть диспетчер безопасности, его checkLink метод вызывается в качестве аргумента libname . Это может привести к исключению безопасности.

Метод System#loadLibrary(String) — это обычный и удобный способ вызова этого метода. Если собственные методы используются в реализации класса, стандартная стратегия заключается в том, чтобы поместить машинный код в файл библиотеки (вызвать его LibFile), а затем поместить статический инициализатор: <blockquote>

static { System.loadLibrary("LibFile"); }

</blockquote> в объявлении класса. При загрузке и инициализации класса также будет загружена необходимая реализация машинного кода для собственных методов.

Если этот метод вызывается несколько раз с тем же именем библиотеки, то второй и последующий вызовы игнорируются.

Документация по Java для java.lang.Runtime.loadLibrary(java.lang.String).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к