flutter_local_notificationsを使用した時に出た「android:attr/fontVariationSettings not found.」の解決方法

Posted by roadman on Monday, February 11, 2019

TOC

事の起こり

  • flutterを開発中にflutter_local_notificationsを使うためにパッケージロードするようにしたら、build errorが出るようになった。

    error: resource android:attr/fontVariationSettings not found
    

結論

  • androidのbuild.gradleに記載されているcompileSdkVersionの設定を28以上(build errorが出た時は27だった)にする事で解決できた。

    android {
    compileSdkVersion 28
    
  • 結果としてはflutter_local_notificationsは別に関係なかった。

説明

  • fontVariationSettingsという変数はAPI 28から追加されたもので、それ以前のAPIでは使えない。(android APIのドキュメントにもadded in API level 28と記載されている)
  • compileSdkVersionというのは、コンパイル時に使うandroid APIのversion設定。これが古すぎると使えないpackageなどがある。
  • compileSdkVersionは最新版にしておくことが公式で強く推奨されている。パフォーマンスチューニングなども考えると正しいことだが、非推奨APIなどをどうしても使う必要がある場合は注意が必要だろう。
  • API28はandroid9(pile)なので2019/01時点での最新版。

参考