Det ser for mig ud som om ManagementFactory er en rød sild, da chaufføren fanger den undtagelse og falder tilbage til at bruge et tilfældigt tal i stedet for.
Det virkelige problem ser ud til at være, at driveren skal godkendes med SCRAM-SHA-1, hvis implementering importerer følgende klasser:
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;
Jeg formoder, at disse ikke er tilgængelige på Android-platformen, som ikke er en komplet implementering af Java Runtime Environment.
En ting du kunne prøve ville være at køre mod MongoDB 2.6, som driverens autentificeringsimplementering kun er afhængig af java.security.MessageDigest.
En anden ting at tænke på er at placere en REST-tjeneste mellem mobilappen og MongoDB, der er ansvarlig for proxy for alle interaktioner med databasen. REST-applikationen kan køres i et miljø, hvor MongoDB-driveren vil være fuldt funktionsdygtig.