2011-01-25 103 views
2

在Android上,我使用運行一系列C++測試的NDK運行應用程序。如果有一個測試失敗了,這很可能意味着崩潰,我希望應用程序能夠重新啓動並開始下一次測試。在崩潰時自動重啓應用程序?

我希望我可以使用例外但NDK不支持它們。

這可能嗎?

+0

我還沒有測試過這個,但也許@FlakyTest會覆蓋:http://developer.android.com/reference/android/test/FlakyTest.html但是,再次,它可能只適用於失敗的測試,不會導致您的應用崩潰的錯誤。但也許值得一試。 – Matthias 2011-01-25 15:48:40

回答

3
  1. 爲什麼你的應用程序必須崩潰?爲什麼不捕捉任何異常被拋出?即使編譯器不會強制您添加try..catch塊,RuntimeExceptions仍可能被拋出。
  2. 您也可以使用Thread.setDefaultUncaughtExceptionHandler。請注意,這必須在每個線程中調用。
  3. 如果出於某種原因,上述解決方案不適合您,您可以創建一個後臺服務,充當watchdog timer

編輯:檢查this link:對於支持C++異常的自定義版本的NDK。我發現它在this thread

+0

我意識到我忘了提及使用NDK進行C++測試。 NDK運行時沒有例外,因此我的問題。 – djcouchycouch 2011-01-25 16:28:13