2016-04-28 38 views
1

由於ACRA.init只能被調用一次,ACRA.getConfig()ACRA.getConfig().setFormUri(uri)都deprecated.Is有通過編程修改formUri任何正確的方法,一旦ACRA已被初始化?ACRA改變formUri編程

在我們的開發應用程序中,我們針對多種環境進行測試,並且我們有不同的formUris來存儲ACRA錯誤,因此每次我們改變到新環境時,我們都必須重新配置ACRA以將所有錯誤發送到formUri。

現在我們正在使用ACRA.getConfig().setFormUri(uri).

但我們擔心在附近的將來,這將是不可能的,所以沒有任何的選擇嗎?

回答

0

但我們擔心在附近的將來

你是正確的,這將是不可能的,4.9.0刪除setFormUri

那麼,有沒有替代方案?

目前沒有。您可以觀看討論here

+0

感謝您的回答,我會做威廉在上面的響應說,我們都將重新啓動應用程序。 –

1

有沒有計劃允許多次初始化ACRA。這會給組件帶來不必要的複雜性,你需要儘可能堅如磐石。

但你仍然有能力以編程方式設置formUri。您只能設置一次。

在運行時顯然有一些事件知道/確定您處於哪個環境。因此,您可以在此處設置一個SharedPreference來概述目標formUri。重新啓動應用程序並讓formUri來自SharedPreference。

注意這是一個非常不尋常的用例。爲什麼你有一個單獨的formUri爲一個應用程序的不同環境?爲什麼不根據報告中的某些屬性(例如環境)具有單個錯誤回購和過濾器報告?

恕我直言有甚至開發單獨的錯誤報告服務器和發佈應用程序的版本是一個淨負,因爲它意味着有您已經開發之間變化,釋放你並不需要一兩件事。移動部件少,複雜程度低==堅固性強。

+1

好吧,我understad的你談論的複雜性,但在我們的circunstances它更簡單有diferent環境/數據庫來存儲錯誤和diferent formUris生成發行版本時,並不代表一個問題,因爲我們有它全部是自動的。隨着環境的變化事只有開發商這樣做,我們將強制在這些情況下的應用程序重新啓動。謝謝! –