Невозможно загрузить библиотеку mongo_embedded - PullRequest
0 голосов
/ 07 февраля 2020

Я пытаюсь использовать MongoDB в проекте Android, следуя этому руководству:
https://docs.mongodb.com/stitch/mongodb/find-documents-in-mongodb/

Но приложение падает на следующую строку:
val mongoClient = stitchClient.getServiceClient(RemoteMongoClient.factory, "mongodb-atlas")
со следующим сообщением

com.mongodb.embedded.client.MongoClientEmbeddedException: The mongo embedded library could not be initialized
    Server error message: Unable to load the Mongo Embedded Library.
    Please either: Set the libraryPath when calling MongoEmbeddedCAPI.create or 
    Ensure the library is set on the jna.library.path or the java.library.path system property.
....
....
Caused by: java.lang.UnsatisfiedLinkError: Unable to load library 'mongo_embedded': Native library (android-x86/libmongo_embedded.so) not found in resource path (.)

Но когда я запускаю приложение на своем телефоне, оно работает. Любые идеи, почему он падает на виртуальном эмуляторе.

1 Ответ

0 голосов
/ 25 марта 2020

Причина сбоя клиента в том, что SDK mongoDB stitch необходимо запустить на 64-разрядном устройстве (см. Здесь ). Почти все android устройства, созданные в настоящее время, являются 64-битными, однако эмулятор в android studio по умолчанию является 32-битным.

Чтобы исправить это go в AVD Manager и создать новое виртуальное устройство, которое поддерживает x86_64 (это 64 бит) вместо x86 (32 бит).

...