okaryo.log

FlutterプロジェクトでGradlePluginのバージョンを上げたらビルド時のapk出力パスが変わった | okaryo.log

FlutterプロジェクトでGradlePluginのバージョンを上げたらビルド時のapk出力パスが変わった

    #Flutter#Android#Gradle

起きたこと

とあるFlutterパッケージを入れるためにGradlePluginのバージョンを上げる必要があり、バージョンを7.1.1まで上げた。

classpath 'com.android.tools.build:gradle:7.1.1'

そうするとFlutterをビルドしたときのapkファイルの出力先が変わってしまった。

以前はプロジェクト直下のbuildディレクトリに出力されていたが、バージョン変更後はandroid/app/buildディレクリに出力されるようになってしまった。

// 以前
<project>/build/outputs/apk/<BuildMode>/<BuildFlavor>/app-<BuildMode>-<BuildFlavor>.apk

// バージョン変更後
<project>/android/app/build/outputs/apk/<BuildMode>/<BuildFlavor>/app-<BuildMode>-<BuildFlavor>.apk

解決方法

android/build.gradleの以下の箇所を修正することで、以前の出力パスに戻すことができた。

// 修正前
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
    project.evaluationDependsOn(':app')
}

// 修正後
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

subprojectsブロックはサブプロジェクトの設定を記述するものらしいが、どうしてそれを分けることで出力先が変わるのかまだ分かっていない。

分かり次第追記しようと思う。もしご存じの方がいらっしゃれば教えていただきたい。

参考

ちなみに以下のstackoverflowとplus_pluginsレポジトリのイシューで上記の解決方法が紹介されていた。


関連記事
最新記事
プロモーション

This site uses Google Analytics.