FlutterプロジェクトでのGradleのアップグレード方法とpackage_info_plusを4.0.1にアップグレードした際のエラー解消

# 事象

`package_info_plus`を`4.0.1`にupgradeしてadnroidアプリをビルドしたところ以下のエラーが発生しました


```bash
$ flutter build apk
FAILURE: Build failed with an exception.

* Where:
Build file '/Users/shodai.suzuki/.pub-cache/hosted/pub.dev/package_info_plus-4.0.1/android/build.gradle' line: 28

* What went wrong:
A problem occurred evaluating project ':package_info_plus'.
> No signature of method: build_comc54dujymydkh0ctja6yf8i.android() is applicable for argument types: (build_comc54dujymydkh0ctja6yf8i$_run_closure2) values: [build_comc54dujymydkh0ctja6yf8i$_run_closure2@4a914b95]

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 16s
Running Gradle task 'assembleRelease'...                           17.3s
Gradle task assembleRelease failed with exit code 1
```

`package_info_plus`内のメソッドが原因で`Gradle task`の`assembleRelease`が失敗している様です。

# 原因

以下のIssueで議論がされていました

https://github.com/fluttercommunity/plus_plugins/issues/1722

> The problem is in namespace property that we added to be compatible with Android Gradle Plugin 8. This property is supported since Android Gradle Plugin 7.0 only.
You need to update your projects to use Android Gradle Plugin to be at least 7.0. I would suggest to use something like 7.4.2.
Here is an example on where to set the version: https://github.com/fluttercommunity/plus_plugins/blob/main/packages/package_info_plus/package_info_plus/android/build.gradle#L13

https://github.com/fluttercommunity/plus_plugins/issues/1722#issuecomment-1523942526

`Android Gradle Plugin 8`と互換性を持たせるために追加された`namespace`プロパティは`Android Gradle Plugin 7.0`以降でのみサポートされおり、使用している`Gradle Plugin`のバージョンが7.0に満たないためエラーになっていそうです。

## プロジェクトの確認

実際のプロジェクトを見てみると以下の通り`android/build.gradle`で指定されているバージョンは`4.1.0`でした。
※ `4.x`系は2020年にリリースされたバージョンで現在はEOLになっているそうです。

```properties:android/gradle/wrapper/gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
```

```gradle:android/build.gradle
dependencies {
  classpath 'com.android.tools.build:gradle:4.1.0'
}
```

# 対応

プロジェクトで使用している`Gradle Plugin`と参照する`Gradle`のバージョンをアップグレードします。

アップグレード可能な`Gradle`バージョンは以下で確認します

#### `gradle`のリリース情報
https://gradle.org/releases/

`android/gradle/wrapper/gradle-wrapper.properties`の`distributionUrl`で参照しているパスはこちらなのでここから探すことも可能です。

https://services.gradle.org/distributions/

```diff:android/gradle/wrapper/gradle-wrapper.properties
- distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
+ distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-all.zip
```

```diff:android/build.gradle
dependencies {
-  classpath 'com.android.tools.build:gradle:4.1.0'
+  classpath 'com.android.tools.build:gradle:7.4.2'
}
```

# 確認

再度ビルドコマンドを実行し無事にビルドが成功することが確認できました。

```bash
$ flutter build apk
```

# 環境

```
$ flutter --version
Flutter 3.10.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 84a1e904f4 (2 weeks ago) • 2023-05-09 07:41:44 -0700
Engine • revision d44b5a94c9
Tools • Dart 3.0.0 • DevTools 2.23.1
```