背景
我刚刚为 Windows 机器开发了我的第一个颤振桌面应用程序。该应用程序在开发/调试时运行良好,但我正在尝试将其作为发布模式下的应用程序进行测试。
做了什么
- 我使用 pub msix 创建了一个 msix。
- 对于签名,我尝试了我自己的证书和默认情况下 msix 包附带的测试证书。
- 我已经尝试过稳定和测试渠道。
实际问题
当我在另一个系统上安装应用程序时(甚至在我调试应用程序的实际系统上)。我可以成功安装 msix 设置我可以在应用程序中看到我的应用程序,但是当我尝试打开它时,它卡在空白/白色屏幕上。没有呈现 UI。如果我尝试最大化窗口,它会进入应用程序无响应状态。任何帮助将不胜感激。提前致谢。
更新/新发现
在浏览了Yehuda Kremer提供的链接并将我的头发拉了几天之后,我在这条推文中找到了答案 https://twitter.com/FilledStacks/status/1436280577439715338?s=20
所以主要问题是应用程序使用了一些在其他机器上不起作用的绝对路径(发布后)
1- 我的应用程序正在使用数据库,因此我确保该数据库路径是相对于应用程序文档目录的。2-现在构建也引用了一些依赖项,它们的路径也是绝对的。我注意到其中有一个标志CMAKE_INSTALL_LOCAL_ONLY
,cmake_install.cmake
但该标志没有在任何地方设置。
这是flutter build windows -v
https://pastebin.com/LAeshUMY的日志
- 现在我正在寻找一种将所有路径转换为相对路径的正确方法,以便构建准备好安装在不同的机器上,而不仅仅是本地安装。