Guten Tag. Ich habe eine Bibliothek .so das funktioniert gut auf x86 Android. Wie verwende ich diese Bibliothek in Java?Verwenden Sie Android .so in Java-Code
System.getProperty("sun.arch.data.model").equals("32");
true
static
{
System.loadLibrary("full/path/to/library/liblibrary.so");
}
Exception in thread "main" java.lang.UnsatisfiedLinkError: no full/path/to/library/liblibrary.so in java.library.path
Vielleicht eine Bibliothek von Android NDK es verwenden?
Wenn Sie den vollständigen Pfad haben, könnten Sie ' '' System.load''' anstelle von '' loadLibrary'''. Die Zeichenfolge, die Sie in '' 'loadLibrary''' eingeben, wird einem plattformspezifischen Bibliotheksnamen zugeordnet. Sie können das Ergebnis sehen, indem Sie '' 'System.mapLibraryName''' aufrufen. Iirc, auf Linux, "Bibliothek" würde "liblibrary.so" zugeordnet werden. –
Thx. System.load - arbeiten. Aber jetzt ein neuer Fehler: Ausnahme im Thread "Haupt" java.lang.UnsatisfiedLinkError: library.so: Kann nicht geladen werden. DLL (Maschinencode = 0x34) auf einer AMD 64-Bit-Plattform Ich versuche auch x86 JVM Ausnahme im Thread "main" java.lang.UnsatisfiedLinkError: library.so: Kann diese .dll (Maschinencode = 0x34) auf einer IA 32-Bit-Plattform nicht laden – user3504724
Ich kann nicht helfen ... sorry. –