質問: RxAndroidをローカルビルドできません ---------------------- RxAndroidに手を入れてみようと思い 上記をローカルでgit cloneし、Android Studioで開くと数ファイルで下記のように`com.google.auto.value.AutoValue`が見つからないという現象が発生しました。 !AutoValueが認識されない これに関しては、build.gradleの ``` compileOnly "com.google.auto.value:auto-value:1.0-rc1" ``` を ``` compile "com.google.auto.value:auto-value:1.0-rc1" ``` に変更する事で解消したのですが、今度は `AutoValue_OnClickEvent`が見つからないという問題が発生しています。 !AutoValue_OnClickEventが見つからない `@AutoValue` を認識して自動生成されることを期待して数回ビルドやクリーンをしてみましたが状況変わらずです。 正常にビルドが通る方法をご教授いただけないでしょうか? よろしくお願い致します。
回答: `compileOnly` のまま、エラー表示を無視してそのままビルドすると通ると思います。クラスが見つからないというエラーは、本当にビルドエラーが起きたのではなく、Android Studioが親切で表示している警告のようなものです。 ### 何故こういう状態になっているか: AutoValueは、アノテーションを利用してコンパイル時にクラスを生成するタイプのライブラリです。最終的に利用したいのは生成されたクラスの方で、AutoValueライブラリ自体は生成が終わったらお役御免になります。 build.gradleで `compileOnly` という書き方をしているのはそのためです。RxAndroidを使う側としてはAutoValueライブラリは必要ないので、標準の `compile` グループとは別の、自前の依存グループ (`compileOnly`)を使うことで、RxAndroidの依存先にAutoValueライブラリが含まれないようにしています。 ところが、副作用として、Android Studio側では自前の依存グループの扱い方がわからず、AutoValueがどういうクラスを最終的に生成してくれるかも把握できないので、そんなクラスは存在しないよという警告を出してしまうことになります。 この問題は、aptプラグインが使えるようにプロジェクトの構成を変えてから解消する予定のようです。 確認環境: * Mac OS X * Android Studio: 0.8.14 * RxAndroid: f5edaf1