NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #1033 most downloaded on pub.dev
This package helps to detect iOS Simulator, Android Emulator and Debug Mode. This package also detects MockLocation/Fake GPS location on Android Device. Also check device is real or not.
Last release 3 months ago
07 Jul 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 32 of 35 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
35 releases · first in 2021
iOS: Fix Xcode failing to resolve Swift Package Manager dependencies with the package manifest at '/Package.swift' cannot be accessed when building on
the package manifest at '/Package.swift' cannot be accessed when building on Flutter 3.44.2/3.44.4. DTTJailbreakDetection is now vendored directly into the safe_device SPM package instead of being referenced as a remote dependency, since its upstream repository ships no Package.swift of its own.iOS: Add Swift Package Manager (SPM) support alongside CocoaPods. Resolves the "plugin does not support Swift Package Manager" warning under Flutter 3
SafeDeviceJailbreakDetection.m by replacing file-scope static array literals with class methods. Resolves #98.One column per quarter.
Fixed build error: checkTestKeys() method was missing from RootedCheck.java — the call in getRootDetectionDetails() now uses an inline Build.TAGS chec
checkTestKeys() method was missing from RootedCheck.java — the call in getRootDetectionDetails() now uses an inline Build.TAGS check instead.Resolved #95. Fixed NullPointerException crash when isMockLocation is called before the location listener is initialized (e.g. when mockLocationCheckE
NullPointerException crash when isMockLocation is called before the location listener is initialized (e.g. when mockLocationCheckEnabled is false).false on Mac Catalyst./var/jb/.installed_palera1n, /var/jb/usr/bin/su, /var/jb/usr/lib/apt).isRealDevice was incorrectly returning false due to an overly broad Build.HOST check; added Vivo and other common OEM manufacturers to the exclusion list. Applied conservative multi-indicator root detection for Vivo devices.isJailBroken on Samsung Galaxy Z Fold5 — Knox security system was triggering detection on non-rooted devices. Samsung devices now require multiple strong indicators before being flagged as rooted./bin/sh from jailbreak paths — this file is present on stock iOS 16+ devices and was causing false positives.canExecuteCommand — process.destroy() is now always called.checkTestKeys() method (was identical to checkBuildTags()).SafeDeviceJailbreakDetection not being called by isJailBrokenCustom nor isJailBroken.jailbreakDetails method channel name.isSimulator value in jailbreakDetails.* iOS bug fix
Nothing published for this version
Android Configurable Mock Location Detection: The mock location check on Android is now conditional based on the configuration provided via the init m
init method from Dart. If mockLocationCheckEnabled is set to false, mock location detection is disabled and location updates are not started. If no configuration is provided, the plugin behaves exactly as before for full backward compatibility.init method, mirroring the Android API. While iOS does not currently use the mock location flag, this enables future extensibility and API consistency.SafeDeviceConfig class, served to both Platform to include mockLocationCheckEnabled and future possible configurationinit method to both Android and iOS native plugins to receive and store configuration from Dart.Nothing published for this version
CRITICAL: Fixed false positive root detection on real Android devices (especially Xiaomi/Redmi devices)
emulatorSpecificRoot check to only apply to actual emulators, not real devices/system/bin/app_process32, /system/bin/debuggerd, /system/bin/debuggerd64, /system/bin/rild, /proc/1/maps, /system/recovery-from-boot.p, /system/etc/security/otacerts.zipisLikelyEmulator() method to properly identify emulators before applying emulator-specific checksCRITICAL iOS SECURITY FIX: Resolved false positive jailbreak detection in development environment that affected real devices.
false for jailbreak detection during development.true while Windows development showed false.Map<Object?, Object?> casting error in jailbreakDetails method.jailbreakDetails now returns Map<String, dynamic> instead of Map<String, bool> for better debugging info.Major Architecture Change: Converted iOS jailbreak detection from Swift to Objective-C for complete build stability.
iOS Build Fix: Resolved Swift bridging header compilation issues that caused build failures.
@objcMembers annotation for automatic method exposure.Enhanced Android Emulator Detection: Improved detection for popular Android emulators including LDPlayer, MEmu, BlueStacks.
SafeDeviceJailbreakDetection class with advanced detection methods./Applications/Cydia.app, /private/var/lib/apt, etc.)/bin/bash, /usr/sbin/sshd, /usr/libexec/ssh-keysign, etc.)/Library/MobileSubstrate/MobileSubstrate.dylib)/System/Library/LaunchDaemons/com.saurik.Cydia.Startup.plist)isJailBrokenCustom: iOS-only method using custom detection algorithmjailbreakDetails: Returns detailed breakdown of detection methodsisJailBroken method now combines DTTJailbreakDetection with custom detection.Upgraded rootbeer-lib dependency from version 0.1.0 to 0.1.1.
Updated android code for better performance.
Removed the Permission Handler package.
* Disable RootBear logs * Sony devices bug fix.
upload build.gradle file for Gradle 8
* Update Readme * Downgrade min dart version * format code
Removed trust_location package.
* Bug Fix
Updated Flutter and Dart version.
Nothing published for this version
Added development mode for Android.
* Android detect root bug fix.
Android mock location error solved.
* Android v2 error solved.
Emulator detection error solved.
Mock Location detection error solved.
'Example' codes in the project have been edited and location permission request has been added for Mock Location control.
* Small Changes.
* iOS bug fix.
* iOS bug fix.
* Small Changes.
Flutter Jailbroken, root, emulator and mock location detection.
Your coding agent can read these notes before it upgrades. Set up the MCP server →