Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Android Gradle plugin起因でFlutter Buildがこけた話

Android Gradle plugin起因でFlutter Buildがこけた話

Flutter Meetup Tokyo #7のLT資料です。

Koji Wakamiya

January 30, 2019
Tweet

More Decks by Koji Wakamiya

Other Decks in Programming

Transcript

  1. 自己紹介 Name : Koji Wakamiya Work : Studyplus, inc. Github

    : @koji-1009 Twitter : @D_R_1009 Android開発メインでやってます 2
  2. なにがおきた? • FlutterプロジェクトのAndroid Gradle pluginを更新したらbuild apk に失敗 エラー: * What

    went wrong: A problem occurred evaluating project ':app'. > Could not resolve all artifacts for configuration 'classpath'. > Could not find lint-gradle-api.jar (com.android.tools.lint:lint-gradle-api:26.1.2). 6
  3. ビルドできない原因 • 3.2.1にてlint-gradle-api:26.1.2を利用するように更新 • lint-gradle-api 26.1.2よりGoogle Maven Repositoryにホスティング先が変更 ◦ jcenter()ではなくgoogle()を見にいく必要が発生

    ◦ gradle taskで処理される箇所のため変更に気づいていなかった Flutter SDK内部のGradle Plugin versionが古かった(3.1.2)ため FlutterプロジェクトのGradle Plugin version(3.2.1)と不整合が生じたのが原因! 7
  4. 対応方法 • ローカルの場合 ◦ Flutter SDK内部のファイルを書き換えてしまえば対応可能 ◦ {flutter SDK root}/packages/flutter_tools/gradle/flutter.gradle

    を修正する • CI/CDサーバー ◦ stable/beta/devの利用しているチャンネルで対応が入るまで対応不可能 ◦ “コントリビュートチャンス ” 8
  5. まとめ • Flutter SDKとプロジェクトのAndroid Gradle pluginをチェックしよう ◦ Flutter SDKのstable版とAndroidStudioのリリースタイミングは一致しない ◦

    “Androidプロジェクト”ではなく“Flutterプロジェクト”だと意識し直す ◦ stable版になったため、 beta版の時のような対応の早さは期待しない • 困ったらflutter_toolsを見てみる ◦ Android : flutter.gradle ◦ iOS : どこをみると良いか教えてください。。。 10