Jai*_*man 5 raspberry-pi flutter
我正在尝试为树莓派构建一个颤振应用程序。
\n树莓派的操作系统为2022-09-22-raspios-bullseye-arm64.img.xz镜像。是uname“ Linux raspberrypi 5.15.61-v8+ #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 2022 aarch64 GNU/Linux”
这是我的步骤:
\npi@raspberrypi:~ $ flutter create my_app\nBuilding flutter tool...\nWaiting for another flutter command to release the startup lock...\nCreating project my_app...\nRunning "flutter pub get" in my_app...\nResolving dependencies in my_app... (3.0s)\n+ async 2.10.0\n+ boolean_selector 2.1.1\n+ characters 1.2.1\n+ clock 1.1.1\n+ collection 1.17.0\n+ cupertino_icons 1.0.5\n+ fake_async 1.3.1\n+ flutter 0.0.0 from sdk flutter\n+ flutter_lints 2.0.1\n+ flutter_test 0.0.0 from sdk flutter\n+ js 0.6.6\n+ lints 2.0.1\n+ matcher 0.12.14\n+ material_color_utilities 0.2.0\n+ meta 1.8.0\n+ path 1.8.3\n+ sky_engine 0.0.99 from sdk flutter\n+ source_span 1.9.1\n+ stack_trace 1.11.0\n+ stream_channel 2.1.1\n+ string_scanner 1.2.0\n+ term_glyph 1.2.1\n+ test_api 0.4.17\n+ vector_math 2.1.4\nChanged 24 dependencies in my_app!\nWrote 129 files.\n\nAll done!\nYou can find general documentation for Flutter at: https://docs.flutter.dev/\nDetailed API documentation is available at: https://api.flutter.dev/\nIf you prefer video documentation, consider: https://www.youtube.com/c/flutterdev\nRun Code Online (Sandbox Code Playgroud)\n但是当我尝试运行该应用程序时,出现此错误
\npi@raspberrypi:~/my_app $ flutter run\nLaunching lib/main.dart on Linux in debug mode...\nERROR: Compilation to SkSL failed.\n/home/pi/snap/flutter/common/flutter/packages/flutter/lib/src/material/shaders/ink_sparkle.frag: warning: (version, profile) forced to be (460, core), while in source code it is (320, es)\n/home/pi/snap/flutter/common/flutter/packages/flutter/lib/src/material/shaders/ink_sparkle.frag:9: error: \'#include\' : Included file not found. for header name: flutter/runtime_effect.glsl\n/home/pi/snap/flutter/common/flutter/packages/flutter/lib/src/material/shaders/ink_sparkle.frag:93: error: \'FlutterFragCoord\' : no matching overloaded function found\n/home/pi/snap/flutter/common/flutter/packages/flutter/lib/src/material/shaders/ink_sparkle.frag:93: error: \'=\' : cannot convert from \' const float\' to \' temp 2-component vector of float\'\nERROR: Target debug_bundle_linux-arm64_assets failed: ShaderCompilerException: Shader compilation of "/home/pi/snap/flutter/common/flutter/packages/flutter/lib/src/material/shaders/ink_sparkle.frag" to "/home/pi/my_app/build/flutter_assets/shaders/ink_sparkle.frag" failed with exit code 1.\n/home/pi/snap/flutter/common/flutter/packages/flutter/lib/src/material/shaders/ink_sparkle.frag: warning: (version, profile) forced to be (460, core), while in source code it is (320, es)\n/home/pi/snap/flutter/common/flutter/packages/flutter/lib/src/material/shaders/ink_sparkle.frag:9: error: \'#include\' : Included file not found. for header name: flutter/runtime_effect.glsl\n/home/pi/snap/flutter/common/flutter/packages/flutter/lib/src/material/shaders/ink_sparkle.frag:93: error: \'FlutterFragCoord\' : no matching overloaded function found\n/home/pi/snap/flutter/common/flutter/packages/flutter/lib/src/material/shaders/ink_sparkle.frag:93: error: \'=\' : cannot convert from \' const float\' to \' temp 2-component vector of float\'\nBuilding Linux application... \nException: Build process failed\nRun Code Online (Sandbox Code Playgroud)\n这是我的flutter doctor
pi@raspberrypi:~/my_app $ flutter doctor\nDoctor summary (to see all details, run flutter doctor -v):\n[\xe2\x9c\x93] Flutter (Channel master, 3.7.0-13.0.pre.31, on Debian GNU/Linux 11 (bullseye) 5.15.61-v8+, locale en_GB.UTF-8)\n[\xe2\x9c\x97] Android toolchain - develop for Android devices\n \xe2\x9c\x97 Unable to locate Android SDK.\n Install Android Studio from: https://developer.android.com/studio/index.html\n On first launch it will assist you in installing the Android SDK components.\n (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).\n If the Android SDK has been installed to a custom location, please use\n `flutter config --android-sdk` to update to that location.\n\n[\xe2\x9c\x97] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)\n ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.\n[\xe2\x9c\x93] Linux toolchain - develop for Linux desktop\n[!] Android Studio (not installed)\n[\xe2\x9c\x93] Connected device (1 available)\n[\xe2\x9c\x93] HTTP Host Availability\n\n! Doctor found issues in 3 categories.\nRun Code Online (Sandbox Code Playgroud)\n
这是解决方案,毕竟它很简单。出现上面的错误是因为我通过 snap 在树莓派上安装 flutter,当我尝试克隆存储库时它工作正常。
他在这里留下了步骤:
#install prerequisites
sudo apt update && sudo apt install -y cmake ninja-build clang libgtk-3-dev git curl unzip
#to simplify more I have left it in the $HOME
cd $HOME
git clone https://github.com/flutter/flutter.git -b stable
sudo ln -s /home/pi/flutter/bin/flutter /usr/bin/
flutter doctor
flutter create my_app
cd my_app
flutter build linux
Run Code Online (Sandbox Code Playgroud)
对于 docker 爱好者,我创建了一个非常基本的镜像,这里是docker pull jaimemanuelroman/flutter_ubuntu:bionic. 要使用它,您必须将要在其中创建项目的文件夹映射到/var/app.
从头开始创建一个项目是:
cd $HOME
mkdir my_app
docker run --rm -v /home/pi/my_app/:/var/app jaimemanuelroman/flutter_ubuntu:bionic bash -c "flutter create . && flutter build linux"
Run Code Online (Sandbox Code Playgroud)
当我们去的时候,$HOME/my_app/build/linux/arm64/release/bundle/我们将编译我们的应用程序。
注意:我只能创建在arm64/v8pq on上运行的图像armv7l,它给出了错误。如果有人需要的话我也可以建造它amd64。
| 归档时间: |
|
| 查看次数: |
3288 次 |
| 最近记录: |