2015-05-25 46 views
2

調試模式下使用一組類和資源的我只想添加特定的功能,當我在調試模式下生成類型(Android的工作室/ gradle這個)。爲了限制一組類和資源調試構建類型(gradle)。只有在gradle這個

我目前的解決方案是使用調試目錄存儲在代碼中的多餘的類和資源,通過反射當BuildType.DEBUG屬性設置爲true來加載入門級。 如果我們在調試中構建,debug目錄在構建期間與主目錄合併。我首先想到這個目錄和構建變體的目錄一樣,也就是說:將使用相同的名稱覆蓋類(允許我擁有特定類的調試版本)。這似乎是不可能的(從Android Studio重複類錯誤)。

它是最乾淨的解決方案嗎?是否有可能直接使用gradle來做到這一點?

+0

「我首先想到,這個目錄將工作一樣構建變量的,即:將覆蓋具有相同名稱的類(允許我有一類特殊的調試版本)」 - 不爲任何工作sourceset與Android Studio,無論該源代碼集是由構建類型,產品風格還是特殊構件(例如'androidTest')使用。你不能重寫在同一個構建中使用的其他源代碼集中定義的類,這將包括'main'中的任何東西。 – CommonsWare

回答

4

如果我理解正確的話,你有一個調試目錄。把那些不同的類放在那裏。發佈目錄中應該有相同的類(創建此目錄)。這些類不能在主目錄中!主目錄現在將成爲共享代碼集。在調試版本中,它將從調試目錄獲取類,在發佈模式下,它將從發佈目錄中獲取類。如果您需要任何幫助添加發布目錄,請告訴我。

4

爲了有不同的版本,在您的調試同一類和發佈版本,你需要在同一水平作爲你的「調試」目錄下創建一個「釋放」目錄類型。將該類放在相同的文件夾層次結構中,Android Studio將在構建發佈類型時將其選中。 您的主目錄樹中不能有該類。

+0

它的工作原理!謝謝 –