Flutter プロジェクト直下にexampleディレクトリがあるとGeneratedPluginRegistrant.javaが生成されない
GeneratedPluginRegistrant.javaはflutter pub getで普通は作成されますが、 exampleディレクトリがプロジェクトの直下にあるときは作成されません。
この現象は普段開発している時には気付きにくいので凶悪です。
GeneratedPluginRegistrantはflutter cleanしても消えないので、 プロジェクト全体を消し去ってgit cloneし直すとか、 plugin(package)を追加する時じゃないと気付きません。
ただ、そこで気づいたのでは、遅くて、コミットをいくら戻しても生成されないなんてこともおきえます。
原因を突き止めた手順
flutter pub get -v
で実行するとちょうど下記の部分のメッセージが出てないようです。
flutter/flutter_plugins.dart at c4a2a3e92d9b076cbcb7b76e7017410ddbc3bb5f · flutter/flutter · GitHub
生成されないパターン
[ +27 ms] Running "flutter pub get" in flutter_sample... (completed in 822ms) [ +25 ms] "flutter get" took 1,107ms. [ +138 ms] ensureAnalyticsSent: 131ms [ +2 ms] Running shutdown hooks [ ] Shutdown hooks complete [ ] exiting with code 0
生成されるパターン
[ +31 ms] Running "flutter pub get" in flutter_sample... (completed in 782ms) [ +86 ms] Generating /Users/takayuki/flutter_sample/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java [ +33 ms] "flutter get" took 1,162ms. [ +141 ms] ensureAnalyticsSent: 134ms [ +3 ms] Running shutdown hooks [ ] Shutdown hooks complete [ ] exiting with code 0
さらにflutterのリポジトリをexampleとかで検索すると下記のコードが出てきます。
でこの辺でreturnされるから生成されないと思われます。