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.