2015-08-20 72 views
0

不知道這是可能的。我在應用程序的gradle中添加了一個debugCompile到某個庫,現在當我在release中編譯我的代碼時,我收到了一個編譯錯誤。問題是,如果我正在發佈,不使用flavors,有沒有辦法編譯/包含代碼?Android Studio selectivily編譯

回答

1

的一件事,如果你不希望使用flavors你能做的就是把你的代碼,使用一些特定的調試庫到if條款,像這樣:

if (BuildConfig.DEBUG) { 
    // do your debug-specific actions here 
} 

在發佈版本這個if子句中的代碼將被編譯器丟棄爲未使用。但是,你仍然會有編譯時錯誤,說有一些代碼使用了未定義的庫。解決的辦法是包括髮行版本也gradle這個compile指令:

compile 'com.foo:bar:1.2.3' 

的第二件事是使用一些第三方Java的預處理器,就像this one

選擇是你的選擇,但我寧願保持口味。你總是可以編寫一些抽象類,它有2-3個使用調試專用庫的方法。在這個類的發佈擴展中,您將這些方法留空,而在調試版本中,您需要編寫一些代碼。