2014-11-14 77 views
0

標題總結得非常好。使Gradle在發佈模式下失敗,代碼不尊重@Intdef註釋

我爲了定義我可以爲PARAMS使用的常量或在某些方法的返回值,像這樣使用@Intdef註釋:

@Retention(RetentionPolicy.SOURCE) 
@IntDef({NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS}) 
public @interface NavigationMode {} 

public static final int NAVIGATION_MODE_STANDARD = 0; 
public static final int NAVIGATION_MODE_LIST = 1; 
public static final int NAVIGATION_MODE_TABS = 2; 

@NavigationMode 
public int getNavigationMode() { 
    return NAVIGATION_MODE_LIST; 
} 

public void setNavigationMode(@NavigationMode int mode) { 
    mNavigationMode = mode; 
} 

作爲一個測試,我已經加入這一呼籲:

setNavigationMode(5); 

Android Studio顯示它是一個錯誤,這很好,但我也想讓Gradle build檢查這個lint規則的發佈版本(我不想用lint檢查來延長調試版本) 。

所以,我已經加入這個我的build.gradle:

然而,搖籃不檢測這個錯誤編譯此項目。
我錯過了什麼嗎?

回答

3

對於android gradle插件的1.3.0-beta1版本,我們現在有一個用於IntDef批註的Lint檢查。

+0

我在gradle這個插件的2.0版本,這仍然無法正常工作做(?) lintOptions { abortOnError真正 致命 '的ResourceType' } – 2016-09-27 01:50:43

2

comment on this Google+ post Tor Norbye解釋說,ResourceType檢查是建立在IntelliJ之上的,目前不能與lint一起使用。它可能在未來。

+0

他們現在:-) – Teovald 2015-06-06 12:56:48

相關問題