Ładowanie rodzimej biblioteki w teście JUnit dla Androida

Wygenerowałem bibliotekę natywną za pomocąndk-build które mogę załadować i używać w mojej aplikacji na Androida. Chcę jednak napisać testy na tej części mojej aplikacji.

Podczas wywoływania funkcji natywnej w moich testach otrzymuję ten komunikat wyjątku:

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

...gdzieprocess to moja rodzima biblioteka do importowania, nazwanalibprocess.so.

Używam Roboelectric do moich testów i prowadzę ten konkretny za pomocąRobolectricTestRunner, jeśli to robi różnicę.

Jak mogę uzyskać, aby mój projekt testowy „zobaczył” bibliotekę macierzystą?

Edytować: Ładuję bibliotekę w mojej aplikacji tak:

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

powołanieProcess.process(array) działa dobrze w aplikacji (biblioteka jest załadowana), ale kończy się niepowodzeniem po uruchomieniu z testów z wyjątkiem podanym powyżej.

Edytuj 2: Jeśli ustawię-Djava.library.path="<the directory of libprocess.so>" jako argument VM, a następnie:

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

pokazuje ścieżkę, którą ustawiłem, ale nadal otrzymuję ten sam wyjątek. Ustawiam katalog jako:

<project-name>/libs/x86

... ale jako absolutna ścieżka.

questionAnswers(3)

yourAnswerToTheQuestion