Вообще никак нельзя определить, что приложение декомпилируется. Декомпилятор работает с кодом как с потоком байтов, а не исполняемой сущностью.
Ничего. См. ответ 1.
Это не поможет. Большинство декомпиляторов читают байт-код по частям, поэтому переполнить стак путём загрузки лишнего кода не получится. Тем более, как сказали выше, такие "пустышки" легко определяются.
Хотите защитить приложение? [Обфусцируйте][1] его. На Android, в частности, есть утилита [ProGuard][2].
[1] - https://ru.wikipedia.org/wiki/Обфускация
[2] - https://m.habrahabr.ru/post/112833/
Лучшая защита - не храните на мобильном устройстве логику, алгоритмы и важные данные.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники