2015-06-03 5 views
1

Мой код использует assert экстенсивно.
утверждать, что не работает на android 5.1.1?

После обновления до 5.1.1 (проверено на Nexus 4 & Nexus 5), вызовы утверждения игнорируются. Выбор «отладочного приложения» в разделе «Параметры разработчика» не отличался.

Может кто-нибудь решить эту проблему? (Прежде чем я вынужден заменить все утверждения на некоторые myAssert(..)).

Update:
вопрос я открыл был закрыт с этим комментарием:

Debug.Assert не был реализован.

Похоже, что этот инструмент не требует большого спроса, бьет меня.
assertбыл чрезвычайно мощный инструмент.


Некоторые преимущества:

  1. включается и выключается во время выполнения с помощью:

    ADB оболочки setprop Debug.Assert 1 (или 0)

  2. по сравнению с некоторыми public static myAssert(boolean condition,String message) - myAssert выполняет/оценивает message в любом случае, а assert делает это, только если condition является ложным. Итак, myAssert(..) стоит дорого в CPU и памяти, особенно если вам нужны содержательные сообщения, такие как Arrays.toString(..). И вам нужно будет пропустить любой вызов myAssert, если вы выполняете профилирование.

+0

Я открыл для него футляр: https://code.google.com/p/android/issues/detail?id=175697 – auval

ответ

0

Google утверждает, что assert официально не поддерживался, и теперь его даже нет.
RIP.