我想在Java/Maven項目中使用Google的Android支持註釋庫(http://tools.android.com/tech-docs/support-annotations)提供的一些有用的註釋。 我希望在編譯時使用mvn
或Eclipse在不使用Android Studio的情況下驗證註釋。 這可能嗎?使用Maven或Eclipse(無需Android Studio)使用和檢查Android支持註釋
我我pom.xml
我把以下內容:
<dependency>
<groupId>com.android.support</groupId>
<artifactId>support-annotations</artifactId>
<version>23.0.0</version>
<scope>provided</scope>
</dependency>
我目前不使用android-maven-plugin
,因爲它只是一個簡單的罐子它不依賴於其他Android庫。聲明依賴關係允許我在我的代碼中使用註釋。例如:
import android.support.annotation.CallSuper;
import android.support.annotation.NonNull;
public class TestAnnot
{
@CallSuper
public void blah() { }
public void bleh(@NotNull String str) { }
}
這個編譯在Eclipse和通過mvn
罰款。但是,明顯違反註釋規則的行爲也不會被標記。例如,沒有什麼是目前阻止我這樣做的:
public class SubTestAnnot
{
@Overrides
public void blah()
{
// not calling super.blah() even though I should
bleh(null); // calling bleh(String) with null even though that's not allowed
}
}
我看了一下說,庫的源代碼(在<Android SDK path>/extras/android/m2repository/com/android/support/support-annotations/23.0.0
看),但現在看來,這只是聲明瞭自己的註釋,但不有代碼來驗證它們。所以我假設Google已經單獨實現了這一點,也許在SDK組件之一中?
那麼,有沒有人知道我如何配置Maven和/或eclipse來實際檢查這些註釋?
Android Studio將會出現無法調用超級的下劃線方法,但實際上沒有任何操作會阻止編譯並且應用程序仍在運行。 – CoatedMoose