2016-06-20 12 views
2

Ich habe jna-4.2.2.jar aus dem Internet heruntergeladen und möchte nun dieses Glas in mein Projekt importieren. Aber wenn ich versuche, dieses Glas in meine Projekte zu importieren, erhalte ich den folgenden Fehler.Die Bibliothek 'jna-4.2.2.jar' enthält native Bibliotheken, die nicht auf dem Gerät in Android laufen werden

[2016-06-20 09:35:01 - FaceVerificationApplication] The library 'jna-4.2.2.jar' contains native libraries that will not run on the device. 
[2016-06-20 09:35:01 - FaceVerificationApplication] The following libraries were found: 
[2016-06-20 09:35:01 - FaceVerificationApplication] - com/sun/jna/darwin/libjnidispatch.jnilib 
[2016-06-20 09:35:01 - FaceVerificationApplication] - com/sun/jna/linux-x86/libjnidispatch.so 
[2016-06-20 09:35:01 - FaceVerificationApplication] - com/sun/jna/linux-x86-64/libjnidispatch.so 
[2016-06-20 09:35:01 - FaceVerificationApplication] - com/sun/jna/linux-arm/libjnidispatch.so 
[2016-06-20 09:35:01 - FaceVerificationApplication] - com/sun/jna/linux-aarch64/libjnidispatch.so 
[2016-06-20 09:35:01 - FaceVerificationApplication] - com/sun/jna/linux-ppc64/libjnidispatch.so 
[2016-06-20 09:35:01 - FaceVerificationApplication] - com/sun/jna/linux-ppc64le/libjnidispatch.so 
[2016-06-20 09:35:01 - FaceVerificationApplication] - com/sun/jna/linux-sparcv9/libjnidispatch.so 
[2016-06-20 09:35:01 - FaceVerificationApplication] - com/sun/jna/sunos-x86/libjnidispatch.so 
[2016-06-20 09:35:01 - FaceVerificationApplication] - com/sun/jna/sunos-x86-64/libjnidispatch.so 
[2016-06-20 09:35:01 - FaceVerificationApplication] - com/sun/jna/sunos-sparc/libjnidispatch.so 
[2016-06-20 09:35:01 - FaceVerificationApplication] - com/sun/jna/sunos-sparcv9/libjnidispatch.so 
[2016-06-20 09:35:01 - FaceVerificationApplication] - com/sun/jna/freebsd-x86/libjnidispatch.so 
[2016-06-20 09:35:01 - FaceVerificationApplication] - com/sun/jna/freebsd-x86-64/libjnidispatch.so 
[2016-06-20 09:35:01 - FaceVerificationApplication] - com/sun/jna/openbsd-x86/libjnidispatch.so 
[2016-06-20 09:35:01 - FaceVerificationApplication] - com/sun/jna/openbsd-x86-64/libjnidispatch.so 

Wie kann ich diesen Fehler beheben? Jeder Rat ist eine große Hilfe.

+0

versuchen, diese gradle ..... Abhängigkeiten { Kompilierung 'net.java.dev.jna: jna: 4.2.2' } in Ihrem Projekt –

+0

ich Eclipse bin. –

+0

Sind Sie sicher, dass dies eine Fehlermeldung und keine Warnmeldung ist? In jedem Fall können Sie die JAR-Datei mit einem ZIP-Tool öffnen und die erwähnten Dateien aus dem JAR löschen. – Robert

Antwort

0

Scheint wie Ihre JAR enthält native Bibliotheken, die nicht für Android (sondern Linux, BSD, SunOS) gebaut wurden. Sie sollten nach JAR suchen, das ELFs (* .so-Dateien) enthält, die mit Android NDK erstellt wurden.

Ich bin mir nicht sicher, aber wahrscheinlich here Sie können richtige native Binärdateien finden.

+0

Nach dem Hinzufügen dieser jar, wenn ich versuche, mein Projekt auszuführen, erhalte ich folgenden Fehler: Die Konvertierung in Dalvik-Format ist fehlgeschlagen: Dex: Java-Heap-Speicher kann nicht ausgeführt werden –

0

Die Basis jna.jar enthält Binärdateien für eine Reihe von Desktop-Plattformen. Manchmal erfordern bestimmte Bereitstellungsanforderungen eine andere Konfiguration. Zu diesem Zeitpunkt müssen Sie nur den Code und/oder die Binärdateien angeben, die für Ihre Situation geeignet sind.

Android erfordert, dass Sie Ihre systemeigenen Bibliotheken im Rahmen der Erstellung und Bereitstellung Ihrer Anwendung auf besondere Weise laden.

Sie müssen nur die Android-Binärdatei explizit hinzufügen und die anderen aus Ihrem Build weglassen.

2

Ich habe mein Problem gelöst. Nachdem ich jna-4.2.2.jar hinzugefügt habe, muss ich in Eclipse unter Fenster> Einstellungen> Android> Erstellen> das Häkchen bei "Fehler erzwingen, wenn externe Jars native Bibliotheken enthalten" entfernen. Dann ist dieses Problem gelöst.