2011-12-22 36 views
2

有誰知道聰明的方式,理想情況下使用Eclipse/ADT工作流,將特定資源應用於項目,具體取決於它是調試還是發佈版本(即在Eclipse無論應用程序是運行還是導出)?我們常常遇到的常見用例是API鍵(如Maps)。設置一個專門爲所有調試字符串創建strings.xml文件的項目,然後對所有發佈字符串單獨創建一個項目將非常好。構建配置特定資源(調試與發佈)

有沒有辦法做到這一點,而無需移動到ANT或Maven風格的建築?

+1

有幾個選項/想法張貼在這裏: http://stackoverflow.com/questions/3029819/android-automatically-choose-debug-release-maps-api-key/3828864 – mbeaty 2011-12-22 20:52:07

回答

2

雖然這不是您要求的,但我強烈建議您自動化發佈版本,因爲您希望每次構建時都保持一致和正確。

對於開發,您可以在這種情況下繼續使用Eclipse工作流程。對於我自己的應用程序Rainy Days,我在ant版本中將調試vs發佈映射鍵切換出來。我已經在一個字符串資源中設置了map key,並在ant build中替換了該字符串。然後我使用Jenkins構建發佈版,並在構建成功時從Jenkins中獲得祝福的apk。關於這一點的好處是,您可以通過單元測試和設備安裝測試以自動化的方式進一步自動化構建。

恕我直言,你不應該在你的代碼中檢測到調試版本,因爲它增加了更多的代碼路徑,使你的代碼更加複雜,甚至在運行時引入開銷。

+0

謝謝你你在這件事上的想法。 – Devunwired 2012-02-19 05:31:52

+0

@bottleapp你能詳細解釋一下如何切換/替換字符串文件中的值嗎? – 2012-05-15 21:49:02

+0

@SandeepChayapathi我使用[此任務](http://ant.apache.org/manual/Tasks/replaceregexp.html)查找並替換資源文件中的文本。 – botteaap 2012-05-16 13:12:08