The minCompileSdk (31) specified in a dependency's AAR metadata is greater than this module's compileSdkVersion (android-30) が出たので対処した

ReactNativeで開発しており、Androidでビルドを試みたときに

The minCompileSdk (31) specified in a dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties) is greater than this module's compileSdkVersion (android-30).

というエラーが出たので対処した時の備忘。

エラー文を読む限り 「minCompileSdk(31)を要求しているけどモジュールがcompileSdkVersion (android-30)ですよ」というエラーである。

compileSdkVersionとはコンパイル時に使用するAndroid SDKのバージョン。

これを30から31に上げれば解消しそう、、

android/app/build.gradle の

compileSdkVersion rootProject.ext.compileSdkVersion

defaultConfig {
  targetSdkVersion rootProject.ext.targetSdkVersion
  ...
}

この部分を

compileSdkVersion 31

defaultConfig {
  targetSdkVersion 31
  ...
}

こうすることで直った。

ただ rootProject.ext.compileSdkVersion は android/build.gradle を指しているらしくこのファイルの中の

 compileSdkVersion = 30
 targetSdkVersion = 30

を31に変えたほうが安全に動くようになるかも(未検証)