Что такое фиктивное местоположение на Android

«Фиктивное местоположение», «mock location», «фиктивные локации» — это один и тот же пункт настроек Android, на который люди натыкаются в режиме разработчика и не понимают, что он делает. Короткий ответ: он назначает приложение, которому система разрешает подставлять координаты вместо настоящих. Ниже — что это значит на практике, откуда функция взялась и какие ожидания от неё не оправдываются.

Определение в одном абзаце

Фиктивное местоположение — это координаты, которые телефон получает не от спутников и вышек, а от приложения, назначенного вами в настройках разработчика. Android называет такое приложение источником тестового местоположения, и пока оно работает, система отдаёт его точку всем, кто спрашивает «где пользователь». Английский термин mock location переводится буквально: mock — «поддельный», «имитационный», отсюда же mock-объекты в программировании.

Пункт «Приложение для фиктивных местоположений» в параметрах разработчика Android — там же, где отладка по USB

Откуда эта функция взялась

Её добавили не для того, чтобы обманывать сервисы. Разработчику приложения нужно проверить, что происходит с картой в другом городе, как ведёт себя доставка на границе зоны и что покажет погода в другом часовом поясе, — выезжать ради этого на местность невозможно. Поэтому в Android есть штатный способ подставить координаты, и лежит он в разделе «Для разработчиков» рядом с отладкой по USB.

Практическое следствие: функция есть в каждом Android начиная с шестой версии, она не требует root-прав и не считается взломом системы. Всё, что нужно, — включить режим разработчика и выбрать приложение; порядок разобран в отдельной инструкции.

Кто получает подменённые координаты

Все приложения сразу. Android не различает их между собой: он раздаёт одну и ту же точку карте, погоде, поиску мест поблизости и любому другому приложению, которое запросило местоположение обычным способом. Выбрать, кого обманывать, а кому отдавать настоящие координаты, нельзя — такой возможности в системе просто нет.

Отсюда же ответ на частый вопрос «а если у меня несколько приложений подмены»: активным может быть только одно, система разрешает назначить единственный источник тестового местоположения.

Схема: приложение подмены передаёт координаты системе Android, а она раздаёт их всем остальным приложениям

Чего фиктивное местоположение не делает

Не скрывает сам факт подмены. К каждой координате от тестового провайдера Android добавляет служебный признак «получено из фиктивного источника», и любое приложение вправе его прочитать. Банковские приложения, подтверждение доставки, корпоративный учёт рабочего времени и игры с античитом именно так и поступают — для них подмена видна (подробный разбор), и скрыть это от них не получится.

Не меняет IP-адрес. Сервис, определяющий регион по сети, подмены координат не заметит; там нужен VPN — разница разобрана в материале подмена геолокации или VPN.

Не меняет страну аккаунта, номер телефона, язык системы и часовой пояс. Это отдельные настройки, и по ним сервис часто понимает ваше расположение точнее, чем по координатам.

Как это выглядит в разных прошивках

Пункт называется по-разному, но всегда лежит в разделе для разработчиков: «Приложение для фиктивных местоположений», «Выбрать приложение для фиктивного местоположения», в англоязычной прошивке — «Select mock location app». В старых версиях Android (до 6.0) вместо выбора приложения был простой переключатель «Разрешить фиктивные местоположения» — если вы встречали такую инструкцию, она устарела.

Сам раздел «Для разработчиков» скрыт по умолчанию и появляется после семи нажатий на номер сборки. Где он лежит на конкретной оболочке, разобрано отдельно: Xiaomi, Samsung, Huawei, HONOR, realme, OPPO и vivo, Tecno и Infinix.

Зачем это обычному пользователю

Три сценария, в которых подмена работает честно и никого не вводит в заблуждение.

Посмотреть, как выглядит сервис в другом городе: карты, расписания, локальные подборки, погода. Не сообщать точный адрес приложению, которое требует местоположение без реальной необходимости, — подмена даёт третий вариант между «отдать координаты квартиры» и «не пользоваться приложением». И тестирование: повторяемые прогоны геозависимых сценариев без выезда на местность (разбор для QA).

Сценарии, в которых подмена нарушает договорённости с сервисом — отметка на рабочем месте, подтверждение доставки, обход региональных ограничений в играх, — мы не описываем: они не работают из-за флага фиктивного источника и приводят к блокировкам аккаунта.

Как включить и как выключить

Включение занимает пару минут: режим разработчика, выбор приложения, разрешение на геолокацию, точка на карте — пошагово. Убедиться, что подмена действительно работает, лучше в стороннем приложении: пять проверок.

Выключается всё тем же путём: остановить подмену в приложении, а если нужно совсем убрать возможность — вернуть в пункте «Приложение для фиктивных местоположений» значение «Нет». Подробнее — в ответе как отключить фиктивное местоположение.

Mock Location — подмена геолокации на Android без root

Бесплатно, вне Google Play. Перед установкой можно сверить контрольную сумму файла.

Скачать APK