Skip to content

Releases: ImL1s/termux-flutter-wsl

Flutter 3.44.0 for Termux ARM64

31 May 18:33
dfaefda

Choose a tag to compare

Flutter 3.44.0 for Termux ARM64

Flutter 3.44.0 / Dart 3.12 for Android-bionic ARM64 hosts.

This release updates the Termux Flutter SDK package to Flutter 3.44.0 and fixes the new Dart/Flutter Tools/Gradle assumptions that broke Android-as-host environments.

Package

Item Value
Package flutter_3.44.0_aarch64.deb
Size 666,366,556 bytes (~636 MiB)
SHA256 b8af08d26ee4ae4b3dcf1aab4ee6b05965529587ddf1bc9b936b48b5f01f9846
Flutter 3.44.0
Flutter Tools Dart 3.12.1
Dart VM post-install dartvm resolves to Dart 3.12.1 (android_arm64)
Target host Termux / Android bionic / ARM64

Install

pkg update -y
pkg install -y x11-repo wget openjdk-21
wget https://github.com/ImL1s/termux-flutter-wsl/releases/download/v3.44.0/flutter_3.44.0_aarch64.deb
dpkg -i flutter_3.44.0_aarch64.deb
apt --fix-broken install -y
bash $PREFIX/share/flutter/post_install.sh
source $PREFIX/etc/profile.d/flutter.sh
flutter doctor -v

Verified

Device smoke on Samsung SM-X716B / Android 16 / ARM64 Termux:

Command Result
flutter --version ✅ Flutter 3.44.0
dart --version ✅ Dart 3.12.1 on android_arm64
dartvm --version ✅ Dart 3.12.0 on linux_arm64
flutter doctor -v ✅ completes; unknown channel / no connected device are expected warnings
flutter create --platforms=android,linux
flutter build apk --release --target-platform android-arm64 --no-tree-shake-icons ✅ ARM64 APK produced
flutter build linux --release ✅ ARM64 Linux bundle produced
deb artifact validator dart, dartvm, dartaotruntime executable

Highlights

Flutter 3.44 / Dart 3.12 update

  • Updated package metadata and patches for Flutter 3.44.0.
  • Handles Dart 3.10+ tool split by packaging both CLI dart and engine dartvm/dartaotruntime.
  • Keeps Flutter CLI on Termux JIT Dart while preserving engine VM tools for snapshots.

Android/Termux host fixes

Flutter Tools still assumes host OS is macOS/Linux/Windows. On Termux, Dart reports Platform.operatingSystem == "android". This release maps Android host lookups to Linux ARM64 artifacts for:

  • font-subset artifacts
  • engine artifact host platform lookup
  • current host platform detection
  • Chrome/device-discovery lookup paths

APK build fixes

  • ARM64-only APK default remains enforced.
  • post_install.sh now provides Flutter 3.44's PLATFORM_ABI_LIST in the ARM64-only Gradle plugin template.
  • Stale Flutter Gradle included-build caches are cleared after plugin source changes.
  • NDK wrapper setup detects current clang runtime paths and patches CMake host-tag assumptions.

Linux desktop build fixes

  • flutter build linux is allowed on Termux host.
  • tool_backend.sh shebang is rewritten for Termux.
  • Projects should add set(CMAKE_SYSTEM_NAME Linux) at the top of linux/CMakeLists.txt.

Maintainer automation

  • GitHub-hosted PR CI now runs lightweight repository sanity checks without touching self-hosted hardware.
  • Manual self-hosted workflows cover the full .deb build and Windows+ADB Termux tablet smoke test.
  • scripts/ci/check_repo.py, scripts/device/run_termux_smoke.ps1, and docs/CI_CD.md document and enforce the release/device validation contract.

Required per-project Android settings

# android/gradle.properties
android.aapt2FromMavenOverride=/data/data/com.termux/files/usr/bin/aapt2
// android/app/build.gradle.kts
android {
    compileSdk = 34
    defaultConfig {
        targetSdk = 34
        ndk { abiFilters += listOf("arm64-v8a") }
    }
}

Build with:

flutter build apk --release --target-platform android-arm64 --no-tree-shake-icons

Known limitations

  • Android APK targets are ARM64-only (android-arm64 / arm64-v8a).
  • flutter run for Android requires ADB pairing/connection from inside Termux.
  • Some Flutter doctor warnings about unknown channel/source are expected for this repackaged SDK.
  • Termux aapt2 currently requires projects to compile against API 34 even though Android SDK Platform 36 is installed for Flutter metadata compatibility.

Previous releases

v3.41.5 (2026-04-13)

  • Flutter SDK upgraded to 3.41.5 (Dart 3.11.3).
  • Added flutter build linux support.
  • Fixed post-install sed delimiter and flutter_tools snapshot invalidation.

v3.35.0 (2026-01-07)

  • First public release.
  • APK build and hot reload support for ARM64 Termux.

Flutter 3.41.5 for Termux ARM64

13 Apr 05:58

Choose a tag to compare

Flutter 3.41.5 for Termux (ARM64)

世界首個在 Termux ARM64 上運行的完整 Flutter 開發環境

安裝

方法 1: 一鍵安裝(推薦)

curl -sL https://raw.githubusercontent.com/ImL1s/termux-flutter-wsl/master/install_flutter_complete.sh -o ~/install.sh && bash ~/install.sh

方法 2: 只安裝 Flutter(不含 Android SDK)

curl -sL https://raw.githubusercontent.com/ImL1s/termux-flutter-wsl/master/scripts/install/install_termux_flutter.sh -o ~/install.sh && bash ~/install.sh

方法 3: 手動安裝

# 1. 下載並安裝 deb
wget https://github.com/ImL1s/termux-flutter-wsl/releases/download/v3.41.5/flutter_3.41.5_aarch64.deb
dpkg -i flutter_3.41.5_aarch64.deb
apt --fix-broken install -y

# 2. 執行 post-install 腳本
bash $PREFIX/share/flutter/post_install.sh

# 3. 設置環境變數
source $PREFIX/etc/profile.d/flutter.sh

# 4. 驗證安裝
flutter doctor

功能狀態

功能 狀態 備註
flutter doctor ✅ 已驗證
flutter create ✅ 已驗證
flutter build apk --release ✅ 已驗證 151.6MB
flutter build apk --debug ✅ 已驗證
flutter build linux --release ✅ 已驗證 ARM64 ELF
flutter run (Android) ✅ 已驗證 Hot Reload 支援

系統需求

  • Android 11+ (API 30+)
  • ARM64 (aarch64) 架構
  • Termux 從 F-Droid 安裝
  • 約 2GB 儲存空間

APK 構建配置

每個 Flutter 專案需要修改以下配置:

android/app/build.gradle.kts:

android {
    compileSdk = 34
    defaultConfig {
        targetSdk = 34
        ndk {
            abiFilters += listOf("arm64-v8a")
        }
    }
}

android/gradle.properties:

android.aapt2FromMavenOverride=/data/data/com.termux/files/usr/bin/aapt2

Linux Desktop 構建

linux/CMakeLists.txt 第一行加入:

set(CMAKE_SYSTEM_NAME Linux)

然後執行:

flutter build linux --release

flutter run(Hot Reload)

# 1. 啟用無線調試(設定 → 開發者選項 → 無線調試)
# 2. 配對(首次)
adb pair 127.0.0.1:<配對端口> <配對碼>
# 3. 連接
adb connect 127.0.0.1:<連接端口>
# 4. 運行
flutter run

已知限制

  • 僅支援 android-arm64 目標(不支援 android-arm、android-x64)
  • 需要手動執行 post_install.sh 配置環境

更新內容

v3.41.5 (2026-04-13)

  • Flutter SDK 升級至 3.41.5 (Dart 3.11.3)
  • 新增 flutter build linux 支援(post_install.sh 自動 patch)
  • 修復 post_install.sh sed 分隔符衝突
  • 修復 build.py sync 目錄複製問題
  • 強制刪除 flutter_tools.stamp/snapshot 確保 patch 生效
  • E2E 測試腳本 gh_e2e_test.sh

v3.35.0 (2026-01-07)

  • 首次公開發布
  • 完整支援 APK 構建(debug/profile/release)
  • flutter run + Hot Reload 支援

致謝

Flutter 3.41.5 for Termux ARM64

24 Mar 19:19

Choose a tag to compare

Flutter 3.41.5 for Termux (ARM64)

What's New

  • Flutter 3.41.5 (Dart 3.11.3) - upgraded from 3.35.0
  • Linux triple-mode builds: flutter build linux now supports --debug, --release, and --profile
  • Full build matrix verified (6/6): Linux debug/release/profile + APK debug/release/profile

Bug Fixes

  • Fixed flutter build linux --release/--profile failure (missing engine artifacts)
  • Fixed utils.py MODE ordering bug that corrupted dart-sdk snapshots

Installation

# In Termux
pkg update && pkg install x11-repo wget openjdk-21
wget https://github.com/ImL1s/termux-flutter-wsl/releases/download/3.41.5/flutter_3.41.5_aarch64.deb
dpkg -i flutter_3.41.5_aarch64.deb
apt --fix-broken install -y
bash $PREFIX/share/flutter/post_install.sh
source $PREFIX/etc/profile.d/flutter.sh
flutter --version

Verified Features

Feature Status
flutter build linux --debug
flutter build linux --release
flutter build linux --profile
flutter build apk --debug
flutter build apk --release
flutter build apk --profile
flutter run (Hot Reload)

Requirements

  • Termux on ARM64 device
  • Android 14+ recommended
  • ~700MB disk space

Flutter 3.35.0 for Termux ARM64

06 Jan 03:58

Choose a tag to compare

Flutter 3.35.0 for Termux ARM64

Cross-compiled Flutter SDK that runs natively on Termux (Android/Bionic ARM64).

Features

  • flutter build apk (ARM64 only)
  • flutter build linux
  • flutter run with Hot Reload
  • Linux desktop support via Termux X11

Installation

# Download and install
curl -LO https://github.com/ImL1s/termux-flutter-wsl/releases/download/v3.35.0-termux/flutter_3.35.0_aarch64.deb
dpkg -i flutter_3.35.0_aarch64.deb
apt-get install -f

# Configure for APK builds
bash $PREFIX/share/flutter/post_install.sh

# Verify
source $PREFIX/etc/profile.d/flutter.sh
flutter doctor -v

Known Limitations

  • APK builds only support ARM64 (android-arm64-v8a)
  • Linux desktop uses debug mode only
  • Profile mode not yet supported

See CHANGELOG.md for details.

Flutter 3.35.0

29 Dec 12:54

Choose a tag to compare

Flutter 3.35.0 for Termux (ARM64)

世界首個在 Termux ARM64 上運行的完整 Flutter 開發環境

安裝

方法 1: 一鍵安裝(推薦)

curl -sL https://raw.githubusercontent.com/ImL1s/termux-flutter-wsl/master/scripts/install.sh | bash

方法 2: 手動安裝

# 1. 下載並安裝 deb
wget https://github.com/ImL1s/termux-flutter-wsl/releases/download/3.35.0/flutter_3.35.0_aarch64.deb
dpkg -i flutter_3.35.0_aarch64.deb
apt --fix-broken install -y

# 2. 執行 post-install 腳本配置 APK 構建環境
bash $PREFIX/share/flutter/post_install.sh

# 3. 設置環境變數
source $PREFIX/etc/profile.d/flutter.sh

# 4. 驗證安裝
flutter doctor

功能狀態

功能 狀態 備註
flutter doctor ✅ 已驗證
flutter create ✅ 已驗證
flutter build apk --release ✅ 已驗證 需執行 post_install.sh
flutter build apk --debug ✅ 已驗證
flutter build apk --profile ✅ 已驗證
flutter build linux ✅ 已驗證 需 Termux:X11
flutter run -d linux ✅ 已驗證 需 Termux:X11
flutter run (Android) ✅ 已驗證 需執行 post_install.sh

系統需求

  • Android 11+ (API 30+)
  • ARM64 (aarch64) 架構
  • Termux 從 F-Droid 安裝
  • 約 2GB 儲存空間

APK 構建配置

每個 Flutter 專案需要修改以下配置:

android/app/build.gradle.kts:

android {
    compileSdk = 34
    defaultConfig {
        targetSdk = 34
        ndk {
            abiFilters += listOf("arm64-v8a")
        }
    }
}

android/gradle.properties:

android.aapt2FromMavenOverride=/data/data/com.termux/files/usr/bin/aapt2

在本機 Android 設備上運行 (flutter run)

  1. 啟用無線調試

    • 設定 → 開發者選項 → 無線調試 → 開啟
  2. 配對設備(首次)

    # 點擊「使用配對碼配對設備」
    adb pair 127.0.0.1:<配對端口> <配對碼>
  3. 連接設備

    # 使用無線調試頁面顯示的連接端口(不是配對端口)
    adb connect 127.0.0.1:<連接端口>
  4. 運行

    flutter run

已知限制

  • 僅支援 android-arm64 目標(不支援 android-arm、android-x64)
  • 需要手動執行 post_install.sh 配置環境(包含 hot reload 支援)

技術說明

這是首個成功在 ARM64 Termux 上運行的 Flutter 開發環境。技術挑戰包括:

  • Bionic linker TLS 對齊問題
  • Android NDK 交叉編譯配置
  • gen_snapshot 32-bit 目標不支援(BoringSSL 編譯錯誤)

詳見 BUILD_GUIDE.md

更新內容

v3.35.0 (2025-12-29)

  • 首次公開發布
  • Flutter SDK 3.35.0
  • 完整支援 APK 構建(debug/release/profile)
  • 完整支援 Linux 桌面構建
  • 包含 post_install.sh 自動配置腳本
  • 支援無線 ADB 調試

致謝

Flutter 3.35.0

28 Dec 15:05

Choose a tag to compare

🎉 Flutter 3.35.0 for Termux (ARM64)

🏆 首創:原生支援 flutter build apk

據我們所知,本專案是目前唯一能在 ARM64 Termux 上原生執行 flutter build apk --release 的解決方案!

專案 flutter build apk 方式
本專案 ✅ 支援 交叉編譯 gen_snapshot
Flutter 官方 ❌ 不支援 "arm64 hosts is currently not supported"
mumumusuc/termux-flutter ❌ 不支援 只有 flutter run -d linux
其他方案 ⚠️ 需要 proot/模擬 效能較差

✨ 功能

  • flutter build apk --release - 直接在 Termux 構建 Android APK
  • flutter build linux - 構建 Linux 桌面應用
  • flutter run -d linux - 在 Termux:X11 運行桌面應用

🆕 v3.35.0 更新

  • 🚀 無需 --target-platform 參數! 直接 flutter build apk --release 即可
  • 📦 新增 libflutter_linux_gtk.so 支援 Linux 桌面
  • ☕ 更新依賴:openjdk-17 → openjdk-21
  • 🤖 支援 Android 16

📥 一鍵安裝

curl -sL https://raw.githubusercontent.com/ImL1s/termux-flutter-wsl/master/install_termux_flutter.sh | bash

📋 系統需求

  • ARM64 設備 (aarch64)
  • Android 11+ (API 30+)
  • Termux(從 F-Droid 安裝)
  • ~2GB 儲存空間

📖 文檔

完整使用指南請參閱 README