Skip to content

flet build command to install Flutter, Java and Android SDK if not found #4327

Description

@FeodorFitsner

Duplicate Check

Describe the requested feature

flet build command will be installing Flutter, Java and Android SDK on user behalf if not found or required minimal version mismatch.

Suggest a solution

Improve flet build command to do automatic installation of Flutter and other requirements.

Screenshots

No response

Additional details

  • ANDROID_HOME vs ANDROID_SDK_ROOT
  • Android SDK installed with Android Studio:
    • macOS: $HOME/Library/Android/sdk
    • Windows: %HOME%\AppData\Local\Android\Sdk
    • Linux: $HOME/Android/sdk
    • sdkmanager path: $ANDROID_HOME/tools/bin/sdkmanager.

Android build settings:

Flutter 3.24:

compileSdkVersion: 34
ndkVersion: 23.1.7779620
minSdkVersion: 21
targetSdkVersion: 34

Flutter 3.27:

compileSdkVersion: 35
ndkVersion: 26.1.10909125
minSdkVersion: 21
targetSdkVersion: 35

Android SDK requirements:

Flutter 3.27:

build-tools;33.0.1

Commands to implement:

set ANDROID_HOME=C:\Android\sdk

unpack .zip to %ANDROID_HOME%\cmdline-tools

move/rename cmdline-tools\cmdline-tools to cmdline-tools\latest

set JAVA_HOME=C:\Users\feodo\java\17.0.13+11

%ANDROID_HOME%\cmdline-tools\latest\bin\sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0"

echo "y" | %ANDROID_HOME%\cmdline-tools\latest\bin\sdkmanager --licenses

build-tools:33.0.1
platform-35


set PATH=C:\Users\feodo\fvm\default\bin;%PATH%


%ANDROID_HOME%\cmdline-tools\latest\bin\sdkmanager --list_installed

=== Emulator ===

%ANDROID_HOME%\cmdline-tools\latest\bin\sdkmanager --install "system-images;android-34;google_atd;x86_64"


%ANDROID_HOME%\emulator\emulator.exe -list-avds

%ANDROID_HOME%\cmdline-tools\latest\bin\avdmanager.bat --verbose create avd --force --name "flet_emulator" --package "system-images;android-34;default;x86_64" --abi x86_64 --device pixel

notepad %USERPROFILE%\.android\avd\flet_emulator.ini

avd.id=flet_emulator
avd.name=flet_emulator
avd.ini.encoding=UTF-8
path=C:\Users\feodo\.android\avd\flet_emulator.avd
path.rel=avd\flet_emulator.avd
target=android-34
hw.keyboard=yes
disk.dataPartition.size=4096M
skin.dynamic=yes
skin.name=pixel_7_pro
skin.path=skins/pixel_7_pro
showDeviceFrame=yes

%ANDROID_HOME%\emulator\emulator.exe @flet_emulator -dns-server 1.1.1.1

%ANDROID_HOME%\platform-tools\adb.exe devices -l

%ANDROID_HOME%\platform-tools\adb.exe -s emulator-5554 emu kill

Metadata

Metadata

Assignees

Labels

enhancementImprovement/OptimizationpackagingRelated to app packaging

Type

No type

Projects

Status
✅ Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions