私が開発している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 (IE が古い) の場合、解決策は機能しないか、良くありません: Android デバイスで assert を使用できますか?