flutter desktop(也就是windows端)使用第三方包sqflite_common_ffi打包/构建的程序不显示窗口

我用flutter写了一个windows端的应用程序,这个程序因为要使用到数据库,所以引入了第三方包sqflite_common_ffi
我使用这样的命令引入的import 'package:sqflite_common_ffi/sqflite_ffi.dart';
但是当我最终使用flutter build windows命令打包了一个exe的可执行程序之后,发现运行的时候压根儿弹不出窗口,只在后台进程显示相应的进程,因为此时我已经用的是比较新的flutter版本(3.16)了,所以跟网上流传的那个不弹出窗口的BUG其实并不一样。这里之所以不弹出来,估计是构建程序没有把数据库的动态链接库文件(使用这个sqflite_common_ffi其实用的是流传很广的那个sqlite3的功能,所以需要SQLite3.dll这个文件)打包进来,导致只有一个孤零零的flutter_windows.dll文件。只需要网上搜索这个同名的文件,下载后,把该dll文件放到exe所在的同级目录即可。

……

flutter使用 flutter doctor -v命令,提示cmdline-tools component is missing

先要到安卓studio官网下载sdkmanager的zip文件。就是那个仅限命令行工具下的一百多兆的文件。
解压之后会得到一个文件夹,里面有些bin和lib之类的文件夹,还有一两个文本文件。

先找到安装AndroidSDK的目录,如果里面没有cmdline-tools这个文件夹,就手动建立一个,cmdline-tools里面还需要建立一个latest文件夹,再把刚才这几个又是bin和lib,又是文本文件的内容复制到latest下面。

android studio官方网站关于android SDK环境变量的设置说明晦涩难懂

这是它中文版原文:
您可以通过设置环境变量来配置 Android Studio 和命令行工具的行为。其中一个最有用的环境变量之一是 ANDROID_HOME,很多工具都会读取该变量来确定 Android SDK 安装目录。如需通过命令行运行工具,而不包含可执行文件的完整路径,请将命令搜索路径环境变量设置为包含 ANDROID_HOME/tools、ANDROID_HOME/tools/bin 和 ANDROID_HOME/platform-tools。

先说简单结论,后面的长篇大论,愿意深入了解的朋友再看。

flutter在vscode中怎么定位出错的组件(也就是抛异常的时候怎么确定是哪里出了错)

当运行程序出现异常的时候,虽然会定位到具体的代码,但是却指向的是flutter自带的代码,这种大段代码看起来就比较费时间。

一个有效的做法是,当出现异常后,点击vscode上方的调试错误的那个横条工具栏。里面一般在左边有一个一步一步往下运行的按钮,点击它,直到在调试控制台出现异常报错信息。

这个时候调试控制台就会很贴心地给出出错的代码是在哪个组件的哪行代码处出的问题。