社区讨论LinuxDo 最新
Android手机搭建Flutter开发环境(不需要root/proot/java)
一、准备termux 安装必要工具 pkg add git glibc termux-adb mkdir -p ~/Android/Sdk/platform-tools ~/src ln -s $PREFIX/bin/termux-adb ~/Android/Sdk/platform-tools/adb 下载Flutter源码 cd ~/src git clone --depth 3 -b stable https://gitcode.com/GitHub Trending/flutter41/flutter.g…
内容摘要
作者:#Yamazaki
板块:#开发调优
一、准备termux
安装必要工具
pkg add git glibc termux-adb
mkdir -p ~/Android/Sdk/platform-tools ~/src
ln -s $PREFIX/bin/termux-adb ~/Android/Sdk/platform-tools/adb
下载Flutter源码
cd ~/src
git clone --depth 3 -b stable https://gitcode.com/GitHub_Trending/flutter41/flutter.git
配置环境变量
export PUB_HOSTED_URL="https://pub.flutter-io.cn"
export FLUTTER_STORAGE_BASE_URL="https://storage.flutter-io.cn"
export FLUTTER_ROOT=$HOME/src/flutter
编译glibc wrapper
pkg add tcc
tcc -O3 -std=c99 -o glibc-wrapper.elf glibc-wrapper.c
~/src/glibc-wrapper.c 代码 (click for more details)
开启无线调试
# 开启无线调试后,使用配对码配对设备(替换端口号)
termux-adb pair 127.0.0.1:54321
# 连接设备(替换端口号)
termux-adb connect 127.0.0.1:12345
二、项目实践
以社区大佬的ArkaneFans/servllama为例,手机上安装debug版本的apk。
可以先用电脑或github ci构建,命令参考
flutter build apk --debug --target-platform android-arm64
Android上继续构建
拉取代码
cd ~/src
git clone https://github.com/ArkaneFans/servllama.git
安装Flutter
# servllama README 里说需要兼容 dart 3.9
# 我们这里安装 Flutter 3.35.7 即可
cd flutter
git fetch --depth 1 origin tag 3.35.7
git checkout 3.35.7
# 开始下载原生 Linux arm64 Dart SDK
./bin/flutter --version
因为 Termux 无法直接执行原生 Linux arm64 程序,后面会报错。别怕,该前面的 glibc-wrapper 登场了
mv bin/cache/dart-sdk/bin/dart{,.elf}
mv bin/cache/dart-sdk/bin/dartaotruntime{,.elf}
install ~/src/glibc-wrapper.elf bin/cache/dart-sdk/bin/dart
install ~/src/glibc-wrapper.elf bin/cache/dart-sdk/bin/dartaotruntime
# 现在可以看到 Flutter 版本了
./bin/flutter --version
编译servllama
cd ~/src/servllama
$FLUTTER_ROOT/bin/flutter pub get
$FLUTTER_ROOT/bin/flutter attach
启动servllama 看看效果吧
资讯来源
LinuxDo