Laden einer nativen Bibliothek in einem Android JUnit-Test

Ich habe eine native Bibliothek mit generiertndk-build mit dem ich in meiner Android-Anwendung laden und verwenden kann. Ich möchte jedoch einige Tests für diesen Teil meiner App schreiben.

Beim Aufrufen der nativen Funktion in meinen Tests erhalte ich die folgende Ausnahmemeldung:

java.lang.UnsatisfiedLinkError: no process in java.library.path

...woherprocess ist meine native Bibliothek zum importieren, benanntlibprocess.so.

Ich benutze Roboelectric für meine Tests und führe diesen mit demRobolectricTestRunner, wenn es einen Unterschied macht.

Wie kann ich erreichen, dass mein Testprojekt die native Bibliothek "sieht"?

Bearbeiten: Ich lade die Bibliothek in meiner App wie folgt:

static {
    System.loadLibrary("process");
}
public static native int[] process(double[][] data);

BerufungProcess.process(array) Funktioniert in der App einwandfrei (die Bibliothek ist geladen), schlägt jedoch fehl, wenn die Tests mit der oben angegebenen Ausnahme ausgeführt werden.

Bearbeiten 2: Wenn ich setze-Djava.library.path="<the directory of libprocess.so>" Als VM-Argument gilt dann:

System.out.println(System.getProperty("java.library.path"));

zeigt den Pfad, den ich festgelegt habe, aber ich erhalte immer noch die gleiche Ausnahme. Ich stelle das Verzeichnis wie folgt ein:

<project-name>/libs/x86

... aber als absoluter Weg.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage