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

Откуда приложение вообще узнаёт ваше местоположение
Каналов четыре, и ведут они себя по-разному.
Спутники GNSS, ближайшие точки Wi-Fi и сотовые вышки телефон обрабатывает сам и отдаёт результат приложениям через системный интерфейс местоположения. Всё, что приходит по этому пути, подмена заменяет: приложение получает выбранную вами точку и не может отличить её источник иначе как по служебному признаку (о нём ниже).
IP-адрес приложение смотрит само — по сетевому соединению, мимо системы определения местоположения. Ни одно приложение для подмены координат на него не влияет, и здесь помогает только VPN.

Когда нужен VPN
Когда сервис определяет регион по сети: сайт, отдающий разный контент по стране; сервис, который считает вас иностранным посетителем; приложение без доступа к геолокации вовсе — если разрешение не выдано, у него остаётся только IP.
Признак простой: если сервис работает в браузере и не спрашивал разрешения на местоположение, почти наверняка он смотрит на IP.
Когда нужна подмена геолокации
Когда приложение спрашивает разрешение на доступ к местоположению и рисует вас точкой на карте. Карты и навигация, погода, поиск заведений рядом, доставка, тестирование приложений на разных адресах — всё это работает с координатами, и VPN на них не влияет никак.
Проверка занимает секунды: откройте приложение и посмотрите, показывает ли оно вас на карте. Показывает — значит, работает с координатами.
Когда нужны оба сразу
Если сервис сверяет одно с другим. Часть приложений сопоставляет координаты и регион по IP и считает расхождение подозрительным: точка в Москве при адресе провайдера в другой стране выглядит странно, и наоборот. В таком случае помогает только согласованная картина — VPN с сервером в нужной стране плюс координаты в том же регионе.
Это не гарантия: сервис волен смотреть и на другие признаки, включая служебный флаг фиктивного источника.
Чего не сделает ни то, ни другое
Android помечает координаты от тестового провайдера служебным признаком «получено из фиктивного источника», и любое приложение вправе его прочитать. Банковские, доставочные и корпоративные системы учёта так и делают — для них подмена видна, сколько VPN поверх неё ни ставь. Mock Location этот флаг не скрывает: почему так.
VPN, в свою очередь, не прячет ни модель телефона, ни язык системы, ни часовой пояс, ни аккаунты, в которые вы вошли, — сервису обычно хватает и этого, чтобы понять, где вы.
Трезвый вывод: оба инструмента решают конкретные задачи (регион по сети и координаты в приложении) и ни один не делает вас невидимым.
Как проверить, что именно меняется
Проще всего — измерить обе величины по отдельности. Любой сервис проверки IP покажет адрес и страну: включите VPN и убедитесь, что они изменились. Страница проверки геолокации в браузере покажет координаты: включите подмену и сверьте их с выбранной точкой.
Подробный порядок проверки координат — в инструкции как убедиться, что подмена работает.