🎉

JulesでFlutterを動かす

に公開

環境

  • Flutter 3.35.2
  • fvmは使わない

参考になった記事

https://www.reddit.com/r/JulesAgent/comments/1n2y33o/comment/nblw5uo/

Configurationに下記のコードを入れてRun

#!/bin/bash
# Script to set up a development environment for a Flutter project
# on a Debian-based Linux distribution.
# This script is designed to be run by a user with passwordless sudo privileges.

set -e

echo "Starting development environment setup..."

# Update package lists and install basic dependencies
sudo apt-get update
sudo apt-get install -y curl git unzip wget jq
echo "Basic dependencies installed."

# Install Flutter SDK
FLUTTER_PATH="/usr/local/flutter"
if [ -d "$FLUTTER_PATH" ]; then
    echo "Flutter SDK is already installed."
else
    echo "Installing Flutter SDK..."

#Flutterのバージョン変更は「flutter_linux_3.35.2-stable」の部分を書き換える。
FLUTTER_SDK_URL="https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.35.2-stable.tar.xz"
    wget -qO flutter.tar.xz "$FLUTTER_SDK_URL"
    sudo mkdir -p "$FLUTTER_PATH"
    sudo tar -xf flutter.tar.xz -C "$FLUTTER_PATH" --strip-components=1
    rm flutter.tar.xz
    echo "Flutter SDK installed."
fi

# Install Android SDK
ANDROID_HOME="/usr/local/android-sdk"
if [ -d "$ANDROID_HOME" ]; then
    echo "Android SDK is already installed."
else
    echo "Installing Android SDK..."
    ANDROID_SDK_URL="https://dl.google.com/android/repository/commandlinetools-linux-11391160_latest.zip"
    wget -qO android_sdk.zip "$ANDROID_SDK_URL"
    unzip -q android_sdk.zip
    sudo mkdir -p "$ANDROID_HOME/cmdline-tools"
    sudo mv cmdline-tools "$ANDROID_HOME/cmdline-tools/latest"
    rm android_sdk.zip
    echo "Android SDK installed."
fi

# Set environment variables for the script's session
export FLUTTER_HOME="/usr/local/flutter"
export ANDROID_HOME="/usr/local/android-sdk"
export PATH="$PATH:$FLUTTER_HOME/bin"
export PATH="$PATH:$ANDROID_HOME/cmdline-tools/latest/bin"
export PATH="$PATH:$ANDROID_HOME/platform-tools"

# Install Android platform tools
echo "Installing Android platform tools..."
yes | sudo "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" --licenses > /dev/null
sudo "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" "platform-tools" "platforms;android-33" "build-tools;33.0.2" > /dev/null

# Configure Flutter
echo "Configuring Flutter..."
# The following line enables support for Linux desktop apps.
# If you are only developing for mobile (Android/iOS), this is not necessary.
# sudo "$FLUTTER_HOME/bin/flutter" config --enable-linux-desktop

# 'flutter doctor' checks the environment and displays a report.
# It's a useful verification step to run manually after the setup,
# but not required for the setup script itself.
# sudo "$FLUTTER_HOME/bin/flutter" doctor

# Update .bashrc for the user
echo "Updating .bashrc for the current user..."
BASHRC_FILE="$HOME/.bashrc"

if ! grep -q 'export PATH="$PATH:/usr/local/flutter/bin"' "$BASHRC_FILE"; then
    echo '' >> "$BASHRC_FILE"
    echo '# Flutter and Android SDK' >> "$BASHRC_FILE"
    echo 'export PATH="$PATH:/usr/local/flutter/bin"' >> "$BASHRC_FILE"
fi

if ! grep -q 'export ANDROID_HOME="/usr/local/android-sdk"' "$BASHRC_FILE"; then
    echo 'export ANDROID_HOME="/usr/local/android-sdk"' >> "$BASHRC_FILE"
    echo 'export PATH="$PATH:$ANDROID_HOME/cmdline-tools/latest/bin"' >> "$BASHRC_FILE"
    echo 'export PATH="$PATH:$ANDROID_HOME/platform-tools"' >> "$BASHRC_FILE"
fi

echo "------------------------------------------------------------------"
echo "IMPORTANT:"
echo "The environment variables have been updated in $BASHRC_FILE. To apply the changes,"
echo "you need to either restart your terminal or run:"
echo "source $BASHRC_FILE"
echo "------------------------------------------------------------------"

echo "Setup complete!"

うまくいった場合

緑のSuccessが出たらボタンを押す。うまくいってたら下記のように保存される。

試行錯誤の跡

https://zenn.dev/flutternyumon/scraps/0cca93417d85d0


Flutter学習のおすすめ本

Flutterでアプリ開発を始める上での個人的なオススメをまとめています。
書籍はkindle unlimitedで新しいものを無料で読むのが良いと思います。

オススメ書籍

これから始める場合、flutter 1.x の時に書かれた本を読むのは辞めておいた方がいいです。
理由は、flutter 2.x 以降、null-safetyという仕様が加わり、書き方がガラッと変わりました。

僕は2.xがリリースされたあたりでFlutterを初めて、情報がアテにならずかなり苦戦しました。

これから始める方向け 【kindle unlimitedなら無料】

スマホで動くアプリを作ろう!ゼロから始めるFlutter実践入門編 ①: シンプルなアプリを作ってみよう
https://amzn.to/3yxutNM

初心者による初心者のためのFlutter詳解
https://amzn.to/39YcpSK

脱初心者向け(課金の実装など、具体的な実装方法や技術が書いてあります)

現場で使える Flutter開発入門
https://amzn.to/3kUXuLv

中・上級者向け

Riverpodやルーティングなどについて書かれてあります。
https://amzn.to/4ju2ovz

Discussion