Đối với tôi, có vẻ như ManagementFactory là một con cá trích đỏ, vì người lái xe bắt gặp ngoại lệ đó và thay vào đó quay lại sử dụng một số ngẫu nhiên.
Vấn đề thực sự xuất hiện là trình điều khiển cần xác thực bằng SCRAM-SHA-1, việc triển khai sẽ nhập các lớp sau:
import javax.crypto.Mac;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.SecretKeySpec;
import javax.security.sasl.SaslClient;
import javax.security.sasl.SaslException;
Tôi nghi ngờ rằng những điều này không có sẵn trong nền tảng Android, đây không phải là bản triển khai hoàn chỉnh của Môi trường thời gian chạy Java.
Một điều bạn có thể thử là chạy với MongoDB 2.6, mà việc triển khai xác thực trình điều khiển chỉ dựa vào java.security.MessageDigest.
Một điều khác cần nghĩ đến là đặt một dịch vụ REST giữa ứng dụng dành cho thiết bị di động và MongoDB, dịch vụ này chịu trách nhiệm ủy quyền tất cả các tương tác với cơ sở dữ liệu. Ứng dụng REST có thể được chạy trong môi trường mà trình điều khiển MongoDB sẽ hoạt động đầy đủ.