2012-06-26 37 views
0

我似乎無法獲得在我的eclipse android項目中工作的斷言。我已按照指示this site如何在Eclipse v3.7.2中啓用斷言

但我仍然無法讓他們工作。我的代碼如下所示:

assert(false) : "PROGRAM ERROR - invalid dialog call"; 

什麼想法?

+0

FYI我已經加入「電子藝界」在窗口/首選項/ JAVA /編輯/安裝JRE中「默認VM參數」的所選的已安裝的JRE – WaterBoy

+0

DalvikVM默認跳過斷言,您可以在這裏閱讀更多:http://stackoverflow.com/questions/2364910/can-i-use-assert-on-android-devices – Jave

回答

1

Dalvik虛擬機在默認情況下忽略Java的斷言。要啓用,必須改變debug.assert屬性,例如,通過在命令行調用命令:

adb shell setprop debug.assert 1 

請注意,您有(強制停止應用程序後,重新啓動虛擬機:設置 - > Apps->點擊應用 - >強制停止)。

另請注意,該設置不是永久性的(斷言在手機重新啓動後將被再次禁用)。然而在根深蒂固的手機有一個辦法讓它持續通過將包含/data/local.prop文件行

debug.assert=1 
+0

如果我只是希望他們在模擬器上工作,這是否一樣? – WaterBoy

+0

是的,它也應該在模擬器上工作。 – Gawcio

0

您希望在上述語言中使用哪種語言?

我會嘗試:

assertTrue("Expected true", true); 

assertFalse("Expected false", true); 

assertEquals("Expected equal", "same", "same"); 

的Junit:

junit-docs/junit/framework/Assert.html

+0

java - 用於與android模擬器。 – WaterBoy