Det ser för mig ut som att ManagementFactory är en röd sill, eftersom föraren fångar det undantaget och faller tillbaka till att använda ett slumptal istället.
Det verkliga problemet verkar vara att drivrutinen måste autentiseras med SCRAM-SHA-1, vars implementering importerar följande 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;
Jag misstänker att dessa inte är tillgängliga i Android-plattformen, som inte är en komplett implementering av Java Runtime Environment.
En sak du kan prova skulle vara att köra mot MongoDB 2.6, mot vilken förarens autentiseringsimplementering enbart förlitar sig på java.security.MessageDigest.
En annan sak att tänka på är att lägga en REST-tjänst mellan mobilappen och MongoDB som ansvarar för att proxysända alla interaktioner med databasen. REST-applikationen kan köras i en miljö där MongoDB-drivrutinen kommer att vara fullt fungerande.