我有一台Pixel-C正在进行开发。 我的最低API级别是21,这也是ART替换Dalvik的级别。 我已经尝试过以下两种方法:
adb shell setprop dalvik.vm.enableassertions all
adb shell setprop debug.assert 1
它们似乎成功地执行了。我已经放置了
assert false : "assertions are active!";
在我的onStart方法中,我没有在logcat中看到任何堆栈跟踪。我期望应用程序在安装和运行后立即退出。请告诉我如何执行此断言。
请不要提及JUnit或其他执行断言的方式,也不要提供需要显式抛出错误的解决方案。生产代码永远不应该抛出错误,也不应该尝试捕获和处理它们。这就是为什么在语言中添加了断言,以便在测试环境中违反不变量时,有一种方法可以在生产过程中不承担任何开销或风险的情况下使应用程序崩溃。
这个6年前的问题基本上是相同的,但是针对Dalvik(即过时)的解决方案要么不起作用,要么不好: 我能在Android设备上使用assert吗?