Есть ли свойство приложения или настройка TCP, которые позволили бы мне сделать это?
Нет. Для ваших собственных IP-адресов (например, HTTP-запрос) вы можете найти некоторую библиотеку разрешений DNS Java и использовать ее вместо системной, но в вашем приложении невозможно перехватить другие запросы из стороннего кода.
Альтернативно есть ли перехват DNS на уровне приложения?
Нет. Смотри выше.
По сути, если людям не нравится реклама, не используйте мое приложение, но я не хочу быть уколом и не запускать приложение.
Затем вы должны исправить (или поработать с вашей рекламной сетью) причины, по которым ваше приложение не запускается, когда у пользователей установлено «пользовательское ПЗУ, блокирующее рекламу для файлов хостов». Рекламный баннер не должен падать, потому что он не может разрешить DNS, поскольку есть причины, по которым он может не сработать, которые не имеют ничего общего с «пользовательским ПЗУ, блокирующим рекламу для файлов хостов» (например, DNS-сервер имеет запрещение).
Поскольку вы не объяснили, что означает «не бежать», в этом контексте трудно дать вам более конкретный совет.