如何在Android中使用assert?

| 我想在Android设备上使用ѭ0。该断言似乎无效,因此我在网上搜索后发现了这种本地解决方案:   亚行外壳setprop debug.assert 1 它确实可以在我的本地计算机上运行。 我想使用我的Eclipse项目运行此命令(因此它将在源代码控件中)。 我该怎么做? 谢谢!     
已邀请:
        断言无法在Android中运行,因为大多数情况下,一个人不是在调试模式下运行,而是运行一些优化的代码。因此,正确的解决方案是使用如下代码手动引发异常:
if (obj==null) throw new AssertionError(\"Object cannot be null\");
应该注意的是,根据设计,断言仅用于调试代码,而不用于发布时间代码。因此,这可能不是抛出Assert的最佳用途。但这就是您仍然可以做到的方式,所以...     
        在Android 4.x设备上进行了测试,可以在Android设备上使用Java断言: 编辑/system/build.prop(例如,通过X-plore),在文件末尾添加一行:debug.assert = 1 重新启动手机 现在,您的Android设备可以断言检查了,断言检查失败时将抛出AssertionError。 编辑: 另一种简单的方法是从PC启用断言,直到设备重新启动:
platform-tools\\adb shell setprop debug.assert 1
例如,您可以创建一个.bat文件(在Windows上)并在连接设备时运行它。     
        创建自己的assert方法:
public static <T> T assertNotNull(T object) {
    if (object == null)
        throw new AssertionError(\"Object cannot be null\");
    return object;
}
为了简洁起见,返回相同的对象可以在分配中使用此对象。     
        
if (somevar == null) throw new RuntimeException();
将RuntimeException()替换为适当的异常子类型。     
        共享我在Android上用于断言的类(更简单),具有很好的命名且非常优雅,因为它允许您编写如下断言:
Assert.that(obj!=null, \"Object should not be null\");
这是该类的代码:
public class Assert {
    public static void that(boolean condition, String message) {
        if (!condition) {
            throw new AssertionError(message);
        }
    }
}
希望能帮助到你!     
        使用-enableassertions或-ea命令行选项使断言在Java虚拟机中可用 在Window的命令提示符下,   java –ea YourApp 在Android Studio 3.0上的“工具/编辑配置/ VM”选项上,输入-enableassertions或-ea     

要回复问题请先登录注册