flutter项目下执行 flutter run 提示信号灯超时时间已到
1、问题截图如下:
2、解决办法
终端输入
后回车
再次执行flutter run 启动项目即可成功。
注:
为设置使用国内镜像
参考链接
Failed to download https://chrome-infra-packages.appspot.com/dl/flutter/web/canvaskit_bundle 超时 解决办法
flutter项目下执行 flutter run 提示信号灯超时时间已到
1、问题截图如下:
2、解决办法
终端输入
后回车
再次执行flutter run 启动项目即可成功。
注:
为设置使用国内镜像
Failed to download https://chrome-infra-packages.appspot.com/dl/flutter/web/canvaskit_bundle 超时 解决办法
在 ubuntu 22.04 通过 snap 安装了 Flutter SDK(当前是Flutter 3.3.4),如果第三方的依赖了 CMake 3.10.2 更高的版本,会在编译的时候报错:
这个报错的原因是由于 snap 安装的 Flutter SDK 构建了一个沙箱环境,在这个环境中的 CMake 是 3.10.2 版本,不管系统安装的是哪个版本的 CMake ,都是无效的。
要解决这个问题,或者等待 snap 的 Flutter SDK 更新版本,或者参照 Linux install Flutter 的说明,手工安装并配置 Flutter SDK 。
可以参考如下代码:
公司上架了一款App,因为产品运营需要去修改App名称,在iOS应用市场提交新版本的时候可以改App名称。那么Android 各大市场如何更改APP名称呢?
目前上架的Android 应用市场有:360手机助手、腾讯应用宝、百度手机助手、阿里应用分发市场(豌豆荚)、安智市场、小米应用商店、华为应用市场、OPPO商店、魅族应用商店、vivo应用市场、搜狗手机助手等平台。
每家Android应用市场的规则都不同,小编整理了Android 各大市场更改APP名称的规则。
1、 百度 : 百度平台的最简单。直接更新app的版本即可(应用名称是系统从您提交的应用中解析的,如需修改请联系贵司技术修改apk包内信息。)
2、应用宝: 用上线后,开发者可通过工单系统提交应用名称修改需求 (入口1:如图点击“名称更改指引”即可直接跳转到修改应用名称的工单系统;入口2:管理中心-->点击需要修改名称的应用-->基础服务-->工单系统-->应用宝商务类-->移动应用名称修改-->填单提交)。修改应用名称需要提供软件著作权; 若暂无软著,可提供此款应用在其他外市场,改过名字后的前后台上线管理截图(其他证明文件均不接受);
重要提示:根据平台规则,应用上线后,应用名称最多可支持修改2次,超过修改次数将不再受理,请谨慎确定好需要修改的应用名称后,再提交工单申请。
3、华为: 在开发者后台在该应用下点击上架或者升级,上传更名后的APK包,并在应用信息处更改应用名称,如应用分类涉及软著要求,请在“版本信息”的“应用版权证书或代理证书”处更新应用软著及免责函,提交应用审核。
4、360移动开放平台和百度移动开放平台是一样的,直接更新app的版本即可。
5、 vivo开放平台:
1)应用类APP需要修改名称: 直接在后台编辑更新,保证apk包内和在后台填写的名称一致即可;若名称相差较大,请在版权证明栏补充软著;游戏类APP(网游/单机)需要修改名称:需联系对接商务处理。
2)若需要更改应用包名,请联系贵司技术人员;更改之后再在平台创建应用提交新包名应用,旧包名应用需申请下架(登录平台--管理中心--点击您的应用--“下架申请”即可)。
6、 OPPO开放平台:也是上传后将自动解析包名。
7、魅族开放平台:也是上传后将自动解析包名。
8、小米市场: 应用名称修改需于应用包内及应用信息一同更改。应用包内名称更改还请贵司技术开发人员自行更改。(可以试一下直接上传后将自动解析包名。)
9、豌豆荚(阿里云应用分发平台):也是上传后将自动解析包名。
数据保存在数据库中,根据表名称获取所有记录的列表,并在"ListView.builder"中显示的代码如下:
参照 Flutter 2.8.1本地化/国际化应用程序名称 可以实现 Android/macOS/iOS/Web 的应用名称相关的国际化。Linux 参考 Flutter 3.0实现Linux本地化/国际化。
那么在 Windows 应用上如何相同的功能呢?
下面我们探讨一下一个比较简单的解决方案,就是直接修改RC文件,这个方案适用于涉及到的语言类型不太多的情况。
Windows 代码编译,需要安装 Microsoft Visual Studio 2022 Community,但是不能直接使用 Microsoft Visual Studio 2022 Community 编辑 RC 文件,打开就会报错
具体的操作方法如下:
我们假定工程的名字为 LanauageTest
首先在项目根目录下,执行
生成 build 目录,然后使用 Microsoft Visual Studio 2022 Community 打开 build\windows\LanauageTest.sln 文件。
接着在资源视图中找到字符串资源,选择默认的 StringTable ,然后右键选择 “插入副本”
虽然可以使用上面的操作来添加语言,但是只能作为参考,原因在于 Microsoft Visual Studio 2022 Community的 RC 文件编辑器在修改 LanauageTest.RC 文件的时候,把预定义的宏进行了展开,直接使用宏的实际值替代了宏本身,导致这些数据失去动态变化的能力。我们只能手工再编辑一次,恢复原来的宏才可以。
至于使用的话,可以通过 LoadString 加载定义的字符串资源,更详细参考 Using Resources。
参照 Flutter 2.8.1本地化/国际化应用程序名称 可以实现 Android/macOS/iOS/Web 的应用名称相关的国际化。但是在 Linux 应用上如何相同的功能,目前暂时没有一个统一的标准。
研究了许久,终于基本上算是搞定,解决方案如下:
使用 gettext 来实现国际化相关的功能。
首先配置,调整工程的目录如下:
project/
project/linux
project/linux/flutter
project/linux/flutter/CMakeLists.txt
project/linux/locale/en_US/app.po
project/linux/locale/zh_CN/app.mo
project/linux/locale/CMakeLists.txt
project/linux/CMakeLists.txt
project/linux/main.cc
project/linux/my_application.cc
project/linux/my_application.h
对应语言 i18n 相关配置文件的内容如下:
接下来,修改 Linux 工程的配置文件,增加对 本地化(i18n) 文件的引用,在合适的位置增加如下代码:
完整的代码参考如下:
使用多语言的代码如下: