プロジェクトでJava 8を使用しようとしています。そのために、jackコンパイラを追加しました。
ジャックを有効にした後、Annotation Processingを使用するライブラリで問題が発生し始め、Webを見ると、コンパイルにAndroid studio 2.2およびcom.Android.tools.build:gradle:2.2.0-alpha6が必要であることがわかりました。注釈からコードを生成するライブラリ。
Android Studio 2.2 preview 6をダウンロードして、プロジェクトをそれに変換しました。そしてその後、apt gradleプラグインがサポートされなくなったことを発見し、aptを使用するすべての依存関係を変更して、新しいannotationProcessorオプションを使用する必要がありました。
例:
apt "org.projectlombok:lombok:$rootProject.lombokVersion"
に
annotationProcessor "org.projectlombok:lombok:$rootProject.lombokVersion"
「プロジェクトを作成」を使用すると、プロジェクトは問題なくコンパイルされますが、実行しようとすると、注釈によって生成されるコードにエラーが発生します。
また、プロジェクトを開くと、lombokプラグインから「プロジェクトの注釈処理が無効になっているようです」という警告が表示されます。プロジェクト設定を開いて「ビルド->コンパイラ」に移動すると、注釈プロセッサが見つかりません。
だから、私の質問は次のとおりです。Android Studio 2.2で注釈プロセッサを有効にするにはどうすればよいですか。この機能は無効になりましたか?はいの場合、注釈からコードを生成するにはどうすればよいですか?
-編集-私は、PullRequestを作成してプロジェクトをJava8でコンパイルするように変更しています。ここでPRを確認できます。 https://github.com/jonathanrz/myexpenses-Android/pull/57 =
プロジェクトを閉じます。 [Android Studioへようこそ]ダイアログで、右下隅の[構成]をクリックします。
次に、
設定>ビルド、実行、展開>コンパイラー>注釈プロセッサー。 「注釈処理を有効にする」にチェックマークを付けます。
それが機能しない場合。 「Welcome to Android Studio」ダイアログからプロジェクトを削除し、新規から開きます。
私のために働いた。
https://stackoverflow.com/a/38698186/4024146
後:File > Invalidate Caches / Restart... > Invalidate and Restart
.ideaフォルダーのcompiler.xmlを開きます。私は次のものを持っていました:
<annotationProcessing>
<profile default="true" name="Default" enabled="false">
<processorPath useClasspath="true" />
</profile>
</annotationProcessing>
Enableをtrueに変更し、プロジェクトを再度開きました。
プロセスが完全に完了すると、すべてが正常になります。
@Jacques Koortsと@mtrakalに追加する
「Welcome to Android Studio」画面が表示されない場合。 X
アイコンをクリックする代わりに、File -> Close Project
を試してください。次に、「Android Studioへようこそ」画面が表示され、右下にギアが表示されます。その後、受け入れられた回答と、おそらくキャッシュの無効化に従ってください。
この問題に将来直面する人のためのこの回答
コトリンの場合
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'
愚かだが私のために働いた、私の場合はライブラリのバージョンを変更してみてください1.4.1にアップグレードします
プロジェクトがバージョン管理に統合されていない場合、注釈オプションがグレー表示されることがあります。したがって、VCS->バージョン管理統合を有効にすると、注釈オプションが表示され、エディターの行番号の横に著者名が表示されます。