Freigeben über


Runtime.LoadLibrary(String) Methode

Definition

Lädt die durch das libname Argument angegebene systemeigene Bibliothek.

[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

Parameter

libname
String

der Name der Bibliothek.

Attribute

Ausnahmen

wenn die Bibliothek nicht geladen werden kann, entweder weil sie nicht gefunden wurde oder weil etwas mit der Bibliothek nicht stimmt.If the library can not be loaded, either because it's not found or because there is something wrong with it.

Hinweise

Lädt die durch das libname Argument angegebene systemeigene Bibliothek. Das libname Argument darf keine plattformspezifischen Präfixe, Dateierweiterungen oder Pfade enthalten. Wenn eine aufgerufene systemeigene Bibliothek libname statisch mit der VM verknüpft ist, wird die von der Bibliothek exportierte JNI_OnLoad_libname Funktion aufgerufen. Weitere Details finden Sie in der JNI-Spezifikation .

Andernfalls wird das Libname-Argument von einem Systembibliothekspeicherort geladen und einem systemeigenen Bibliotheksimage auf implementierungsabhängige Weise zugeordnet.

Wenn ein Sicherheitsmanager vorhanden ist, wird die checkLink Methode als libname Argument aufgerufen. Dies kann zu einer Sicherheits ausnahme führen.

Die Methode System#loadLibrary(String) ist das konventionelle und bequeme Mittel, diese Methode auf sich zu aufrufen. Wenn systemeigene Methoden in der Implementierung einer Klasse verwendet werden sollen, besteht eine Standardstrategie darin, den systemeigenen Code in eine Bibliotheksdatei zu setzen (aufrufen LibFile) und dann einen statischen Initialisierer zu platzieren: <blockquote>

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

</blockquote> innerhalb der Klassendeklaration. Wenn die Klasse geladen und initialisiert wird, wird auch die erforderliche systemeigene Codeimplementierung für die systemeigenen Methoden geladen.

Wenn diese Methode mehrmals mit demselben Bibliotheksnamen aufgerufen wird, werden die zweiten und nachfolgenden Aufrufe ignoriert.

Java-Dokumentation für java.lang.Runtime.loadLibrary(java.lang.String).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: