1

私はAndroidAnnotationsを使用していますが、数日後、EclipseはAndroidAnnotationsによって生成されたクラス(生成されたコードをプリコンパイル)を使用するコードのコンパイルに失敗することがあります(常にではありません)。

私の例は次のとおりです。

私のプロジェクトにはMainActivity、AndroidAnnotationsがMainActivity_.apt_generatedの下に拡張クラスを作成しています。

の他の場所でDetailActivity、私のコードにはMainActivity_への参照があります。

ここに画像の説明を入力してください

これまでの私の解決策は、コードを削除し、コンパイルしてから、コードを追加し直すことでした。しかし、これは決してエレガントではありません。また、非常に煩わしく、時間がかかります。

設定が足りませんか?

「注文とエクスポート」ページの注文は影響しますか?.apt_generatedディレクトリを上下に移動しようとしましたが、プラスの効果はありません。

これはAndroidのリソースクラスRで使用されているのと同じ概念だと思っていました。リソースを使用するコードがコンパイルに失敗するという問題は発生しませんでした。

4

2 に答える 2

1

それはいつ起こりますか?

  • Eclipseを開くと?
  • 以前に閉じたプロジェクトを開くときは?
  • プロジェクトを行うとき>クリーン?

この問題はEclipseのバグのように見えます。クラスをコンパイルしてからアノテーションプロセッサを実行し、シンボルが欠落しているクラスを更新/再コンパイルしない場合があるようです。

仕事をしているように見える簡単なトリック:プロジェクトのプロパティに移動し、注釈処理フォルダーの名前を.apt_generatedから別の名前に変更して(次に.apt_generatedに戻し)、再構築を受け入れます。これにより、正しい順序でビルドがトリガーされ、すべてが正しくリセットされるようです。

AndroidAnnotationsは、標準のJava6の概念であるアノテーション処理を使用することに注意してください。これは、Java標準にリンクされていないAndroidRクラスとは異なります。

それは役に立ちますか?

于 2012-06-12T08:44:56.713 に答える
0

piwaiからの上記のコメントによると、回答者は次のとおりです。

Eclipse 3.5+-アノテーションプロセッサ:生成されたクラスはインポートできません

于 2012-10-15T03:59:34.833 に答える