В Java канале мы
писали о том, как работает
assert в JVM. Но в Андроиде используется виртуальная машина Dalvik или ART, в зависимости от версии ОС, а не стандартная JVM.
По-умолчанию
assert в андроид-приложении не работает.
В Dalvik ассерты включаются командой
adb shell setprop debug.assert 1, но эта настройка ненадежна и не работает на некоторых версиях Андроид. В ART ассерты и вовсе убрали.
Если использовать
assert, то линтер в Android Studio покажет warning и предложит заменить на конструкцию:
if (BuildConfig.DEBUG && !(&jt;assert_condition>)) { throw new AssertionError() }