web-dev-qa-db-ja.com

Android St​​udio 2.2で注釈プロセッサオプションを有効にします

プロジェクトでJava 8を使用しようとしています。そのために、jackコンパイラを追加しました。

ジャックを有効にした後、Annotation Processingを使用するライブラリで問題が発生し始め、Webを見ると、コンパイルにAndroid studio 2.2およびcom.Android.tools.build:gradle:2.2.0-alpha6が必要であることがわかりました。注釈からコードを生成するライブラリ。

Android St​​udio 2.2 preview 6をダウンロードして、プロジェクトをそれに変換しました。そしてその後、apt gradleプラグインがサポートされなくなったことを発見し、aptを使用するすべての依存関係を変更して、新しいannotationProcessorオプションを使用する必要がありました。

例:

apt "org.projectlombok:lombok:$rootProject.lombokVersion"

annotationProcessor "org.projectlombok:lombok:$rootProject.lombokVersion"

「プロジェクトを作成」を使用すると、プロジェクトは問題なくコンパイルされますが、実行しようとすると、注釈によって生成されるコードにエラーが発生します。

また、プロジェクトを開くと、lombokプラグインから「プロジェクトの注釈処理が無効になっているようです」という警告が表示されます。プロジェクト設定を開いて「ビルド->コンパイラ」に移動すると、注釈プロセッサが見つかりません。

だから、私の質問は次のとおりです。Android St​​udio 2.2で注釈プロセッサを有効にするにはどうすればよいですか。この機能は無効になりましたか?はいの場合、注釈からコードを生成するにはどうすればよいですか?

-編集-私は、PullRequestを作成してプロジェクトをJava8でコンパイルするように変更しています。ここでPRを確認できます。 https://github.com/jonathanrz/myexpenses-Android/pull/57 =

43
jonathanrz

プロジェクトを閉じます。 [Android St​​udioへようこそ]ダイアログで、右下隅の[構成]をクリックします。

次に、

設定>ビルド、実行、展開>コンパイラー>注釈プロセッサー。 「注釈処理を有効にする」にチェックマークを付けます。

それが機能しない場合。 「Welcome to Android St​​udio」ダイアログからプロジェクトを削除し、新規から開きます。

私のために働いた。

98
Jacques Koorts

注釈プロセッサを有効にすることができます[閉じることなくプロジェクトをAndroid Studio 2.で:

File -> Other Settings -> Default Settings

enter image description here

Build, Execution, Deployment -> Compiler -> Annotation Processors -> 
Enable annotation processing.

enter image description here その後、クリーンアップ、ビルド、無効化、再起動することを忘れないでください。
乾杯!

30
Tudor

https://stackoverflow.com/a/38698186/4024146

後:File > Invalidate Caches / Restart... > Invalidate and Restart

23
mtrakal

.ideaフォルダーのcompiler.xmlを開きます。私は次のものを持っていました:

<annotationProcessing>
  <profile default="true" name="Default" enabled="false">
    <processorPath useClasspath="true" />
  </profile>
</annotationProcessing>

Enableをtrueに変更し、プロジェクトを再度開きました。

6
poetichustla
  1. プロジェクトを閉じます。
  2. 設定>ビルド、実行、展開>コンパイラー>注釈プロセッサー。 「注釈処理を有効にする」にチェックマークを付けます。
  3. プロジェクトを開きます。
  4. ファイル>キャッシュの無効化/再起動...>無効化と再起動

プロセスが完全に完了すると、すべてが正常になります。

3
Neo Tran

@Jacques Koortsと@mtrakalに追加する

「Welcome to Android St​​udio」画面が表示されない場合。 Xアイコンをクリックする代わりに、File -> Close Projectを試してください。次に、「Android St​​udioへようこそ」画面が表示され、右下にギアが表示されます。その後、受け入れられた回答と、おそらくキャッシュの無効化に従ってください。

1
Bri6ko

この問題に将来直面する人のためのこの回答

コトリンの場合

Kaptプラグインを追加

apply plugin: 'kotlin-kapt'
implementation 'com.google.dagger:dagger:2.21'
kapt 'com.google.dagger:dagger-compiler:2.21'

Javaの場合

implementation 'com.google.dagger:dagger:2.21'
annotationProcessor 'com.google.dagger:dagger-compiler:2.21'
0
Fazal Hussain

愚かだが私のために働いた、私の場合はライブラリのバージョンを変更してみてください1.4.1にアップグレードします

0
Chulo

プロジェクトがバージョン管理に統合されていない場合、注釈オプションがグレー表示されることがあります。したがって、VCS->バージョン管理統合を有効にすると、注釈オプションが表示され、エディターの行番号の横に著者名が表示されます。

0
Random Aspirer