2017-08-08 18 views
1

我正在Kotlin中構建我的項目。在我的應用程序的一行中,我訪問了BuildConfig文件中的一個屬性(這是一個生成的文件,如果重要的話,它是用Java生成的)。 BuildConfig.DEBUG正在評估爲虛假,儘管它設置爲trueAndroid Kotlin:BuildConfig文件未給出正確的值

這裏是行:

if (BuildConfig.DEBUG) // do something 

這裏是我的生成BuildConfigs行:

public static final boolean DEBUG = Boolean.parseBoolean("true"); 

當我 「去參考」 使用上BuildConfig.DEBUG CTRL + B或鼠標點擊,它帶我到正確的文件,我知道它正在訪問正確的文件。

我已經通過調試器了。 Boolean.parseBoolean( 「真」);在表達式評估器中正確返回true。

任何想法?

+0

你確定在你的代碼中你正在導入你的應用程序的BuildConfig而不是某個其他庫嗎?你可以改變它爲'com.yourapp.BuildConfig.DEBUG'嗎? – lelloman

+0

@lelloman我引用的代碼和BuildConfig都是單獨的android模塊的一部分。我在其他地方看到,如果你在android模塊中引用了一個BuildConfig,它總是會被調試爲false。對此有什麼可以做的嗎? –

回答

1

問題在於你的模塊默認會使用發佈版本構建。您可以明確地在應用中設置依賴關係,以便應用的調試版本取決於模塊的調試版本和模塊版本上的應用版本。

dependencies { 
    releaseCompile project(path: ':library', configuration: 'release') 
    debugCompile project(path: ':library', configuration: 'debug') 
} 
相關問題