电脑系统无法远程
qq应该是很多人接触的第一个远程工具,qq支持我们请求远程控制好友的电脑,从而帮助好友或者人好友帮助我们解决电脑问题。那么当电脑问题解决完之后qq远程权限控制怎么解除呢?遇到qq远程权限原因无法操作怎...
2024.11.22作者:腾讯 - 小德(koudleren 任晓帅)
前言
前面讲了Flutter持续化集成上的演进之路,Flutter的工程为Flutter Model的工程,其中一个很重要的点就是如何在服务器上打包,这个涉及到命令行打包,接下来看如何做。
Android打包
Android的命令行打包比较简单,直接用gradle命令,在工程的目录下运行如下的命令:
打debug包$./gradlew assembleDebug复制代码打Release包$./gradlew assembleRelease复制代码生成的aar包就在.android/Flutter/build/outputs/aar/目录下
iOS打包
iOS打包比较复杂一些,需要用到一个打包的脚本,这个脚本在Flutter SDK里,路径为packages/flutter_tools/bin,有一个叫xcode_backend.sh的脚本,首先分析这个脚本:
if [[ $# == 0 ]]; then # Backwards-compatibility: if no args are provided, build. BuildAppelse case $1 in "build") BuildApp ;; "thin") ThinAppFrameworks ;; "embed") EmbedFlutterFrameworks ;; esacfi复制代码可以看到这个脚本有三个功能,分别是:
buildthinembed把这个脚本拷贝到工程的目录,运行
第一步$/bin/sh xcode_backend.sh build复制代码然后你会发现有报错,如下:
ERROR: Unknown FLUTTER_BUILD_MODE: .Valid values are ‘Debug‘, ‘Profile‘, or ‘Release‘ (case insensitive).This is controlled by the FLUTTER_BUILD_MODE environment varaible.If that is not set, the CONFIGURATION environment variable is used.复制代码这是因为少了一些环境变量,要把这些变量加上:
export FLUTTER_BUILD_MODE="" //有三个值:Debug Profile Releaseexport FLUTTER_ROOT="" //Flutter SDK的目录export FLUTTER_APPLICATION_PATH="" //工程目录export SOURCE_ROOT="${FLUTTER_APPLICATION_PATH}/.ios/Flutter" //Flutter iOS代码的目录export FLUTTER_TARGET="lib/main.dart" //dart代码export FLUTTER_BUILD_DIR="build" //build生成的路径export ARCHS="armv7 arm64" //Flutter打包的Framework要支持的平台复制代码第二步$/bin/sh xcode_backend.sh thin复制代码同样也要加上环境变量:
export SOURCE_ROOT=".../.ios/Flutter" //Flutter iOS代码的目录export ARCHS="armv7 arm64" //Flutter打包的Framework要支持的平台export TARGET_BUILD_DIR="${SOURCE_ROOT}" //build生成的路径export app_path="${TARGET_BUILD_DIR}/Flutter" //Flutter打包的Framework所在的路径export frameworks_dir="${app_path}" //Flutter打包的Framework所在的路径复制代码综上,要加的环境变量如下:
export FLUTTER_BUILD_MODE="" //有三个值:Debug Profile Releaseexport FLUTTER_ROOT="" //Flutter SDK的目录export FLUTTER_APPLICATION_PATH="" //工程目录export SOURCE_ROOT="${FLUTTER_APPLICATION_PATH}/.ios/Flutter" //Flutter iOS代码的目录export FLUTTER_TARGET="lib/main.dart" //dart代码export FLUTTER_BUILD_DIR="build" //build生成的路径export ARCHS="armv7 arm64" //Flutter打包的Framework要支持的平台export TARGET_BUILD_DIR="${SOURCE_ROOT}" //build生成的路径export app_path="${TARGET_BUILD_DIR}/Flutter" //Flutter打包的Framework所在的路径export frameworks_dir="${app_path}" //Flutter打包的Framework所在的路径复制代码运行的命令如下:
$/bin/sh xcode_backend.sh build$/bin/sh xcode_backend.sh thin复制代码生成产物在.../.iOS/Flutter中查看,如果想修改生成产物的路径,修改脚本里derived_dir的值,如下:
local derived_dir="${SOURCE_ROOT}/Flutter/Flutter" if [[ -e "${project_path}/.ios" ]]; then derived_dir="${project_path}/.ios/Flutter/Flutter" fi复制代码qq应该是很多人接触的第一个远程工具,qq支持我们请求远程控制好友的电脑,从而帮助好友或者人好友帮助我们解决电脑问题。那么当电脑问题解决完之后qq远程权限控制怎么解除呢?遇到qq远程权限原因无法操作怎...
2024.11.22git是一个怎么样的工具?是一个版本管理工具,熟悉SVN的应该都知道,SVN工具是一个局域网的文件、代码管理工具,而git的功能更加强大,资源存储在互联网上,任何地方任何地点都可以去访问,单单这一点就...
2024.11.20桌面图标无法打开如何修复?不能打开桌面图标有很多中可能,从物理角度看,可能是鼠标双击不行了,从系统角度上看,或许是桌面上的快捷方式起始位置找不到该文件,当然,更多的是组件缺失,我们可以看看下文中是怎么...
2024.11.21/1 前言/ 嘿,各位小伙伴,晚上好呀,我相信各位小伙伴都是python的爱好者。也许我们不一定是专业的程序员,但是我们仍然可以通过代码提高我们的效率,尽量少加班,多陪陪媳妇。再不行,让代码替我们干着...
2024.11.20再说怎么通过 快捷指令 记录时间日志 之前,我们先说一下什么是 时间日志。什么是时间日志?第一次接触到 “时间日志” 这个概念是在 李笑来 的《把时间当做朋友》这本书里面。里面说到一种叫“感知时间”的...
2024.11.20