0

javax.annotation.NonnullAndroid で実行されるコードでJSR 305 アノテーションを使用できますか? Dalvik VM がパッケージをサポートしているようには見えず、それらの注釈にはランタイム保持ポリシーがあります。javax パッケージ (または Eclipse JDT を使用するような代替手段) を使用して動作するようになった人はいますか?

4

3 に答える 3

1

ご存知のように、実行時に注釈が欠落している可能性があり(実行時に保持されていても)、その結果、注釈がサイレントにドロップされます。したがって、コードがコンパイルされれば、後でコードを実行する VM が注釈を認識しなくても問題ありません。

あなたの場合、javax.annotation.Nonnull静的分析ツールで使用される を使用していますが、通常は実行時に効果がありません。はい、使用できます。

対照的に、実行時にアプリに関連する仮想の他のアノテーションは、クラスパスに存在する必要があります。

于 2014-02-28T21:32:43.703 に答える
1

javax.* パッケージは、dalvik または ADT によって完全にはサポートされていません。ただし、通常の注釈を使用できます。公式ドキュメントの完全なパッケージ リスト。

つまり、.class ファイルを対象とするものはすべて機能しません。この問題に役立つdexmakerというライブラリがあります。

于 2014-02-28T14:15:23.443 に答える