目的
Flutter moduleでのFlutterのバージョンアップを行った場合、組み込みアプリ側で作業依頼が必要かを検証
結果
作業依頼は不要(従来の更新作業で問題なし)
※ただし、podfile.lock等でflutterのバージョン固定していた場合、pod install時に古いflutterをインストールするかもなので、明示的に更新してもらう必要あり
前提
flutter 3.3.10flutter 3.10.6 で検証
[従来の更新作業]は下記の通り
Android
`flutter build aar`で生成されたbuildフォルダを入れ替え
iOS
`flutter build ios-framework` で生成されたbuildフォルダを入れ替え
検証手順
flutter3.3.10でビルド
組み込みアプリにflutter3.3.10でビルドしたファイルを配置
ドライバーアプリ上でflutter3.3.10が正常動作することを確認
flutter3.10.6をビルド
組み込みアプリに[従来の更新作業]にてSDK更新
組み込みアプリ上でflutter3.10.6のSDKが正常動作することを確認
検証結果
android : [従来の更新作業]のみでflutter3.10.6のSDKが正常動作することを確認
iOS : [従来の更新作業]のみでflutter3.10.6のSDKが正常動作することを確認
ただし、※podfile.lockにてflutterのバージョン固定している場合は3.10.6へ変更が必要
補足
Android
*通常のSDK バージョン更新手順*で入れ替えするモジュール内にて、SDKパッケージ内のpomファイルを確認したところ、下記記載
<dependencies>
<dependency>
<groupId>io.flutter</groupId>
<artifactId>flutter_embedding_release</artifactId>
<version>1.0.0-xxxxxxxxxxxxxxxxxxxxxxxxxxx</version>
<scope>compile</scope>
</dependency>
...
<dependencies>
恐らく、入れ替えるモジュール内にflutter engineも包括されている為、Flutter verup作業も不要となっている。
(ネイティブ知識が乏しいのでちょっと自信ないかも)
iOS
標準SDKでは、導入マニュアルにて各社アプリのpodfileへ下記設定を依頼
target 'プロジェクト名' do
pod 'Flutter', :podspec => './Flutter/Release/Flutter.podspec'
end
ここで指定している`./Flutter/Release/Flutter.podspec`は*通常のSDK バージョン更新手順*にて行っている各種フォルダを入れ替えの入れ替え対象ファイルであり、実際にFlutter.podspec内では下記の定義がある。
Pod::Spec.new do |s|
s.name = 'Flutter'
s.version = '3.10.600' # 3.10.6
s.summary = 'A UI toolkit for beautiful and fast apps.'
s.description = <<-DESC
これにより、*通常のSDK バージョン更新手順*のみでFlutter verup作業も不要となっている。