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.