前段时间用Matlab App Designer做了一个程序封装,最终打包成exe给用户使用,在达到成功使用的路上踩了不少坑。在这里,简单介绍一下封装的正确姿势。

封装步骤

Matlab APP与独立桌面App

封装点击共享,一般选择Matlab App或者是独立桌面App

共享

Matlab APP最终的形式是将做的软件作为Matlab的插件,安装后会放在APP里的我的App这个地方。

Demo APP

独立桌面APP则是一种独立的exe文件,不需要安装在Matlab中,双击即可打开使用那种。大概意思就和下面这中程序一样,双击就能打开使用。

独立文件示意

下面以独立桌面App为例讲解。

MATLAB Compiler

首先是软件的基本信息部分。

软件的基本信息

logo及启动动画

打开软件弹出来的封面即是启动画面。

接着是软件安装文件的设置:

安装需要用到的文件

需要主要的是,m文件之类的封装到安装包里之后,是可以在exe内部运行的,但是会做加密处理,如果程序中有将m文件复制到指定位置之类的操作,建议不要这样做,因为打开m文件之后会是乱码。

这些地方设置完成后,就可以开始正式打包了。

打包

Runtime

打包这里有两个选项。

一个是Runtime downloaded form web,就是在线下载Runtime

一个是Runtime included in package,就是把Runtime一块本地打包到安装包里。

如果是给客户的话,选择网上下载就可,让他在自己在线自动安装,runtime打包到安装包里会使安装包高达1G,传输起来很是不方便。

设置完成之后,点击“Package”进行打包。

打包设置

正在封装APP

上面反复提到RunTime,这里简要介绍一下。

官方文档是这样解释的:MATLAB Runtime 是一套独立的共享库,可以执行已编译的 MATLAB 应用程序或组件。当 MATLAB、MATLAB Compiler和 MATLAB Runtime 一起使用时,您可以快速、安全地创建和分布数值应用程序或软件组件。

简单地来说,就是Matlab程序的解释器,安装之后,会将matlab的程序重新编译一遍,使所在的电脑能够正确打开相关程序。runtime还有matlab的内置函数,使得程序成功运行。

打包结果文件

打包结果文件

  • for_redistribution包含用于安装应用程序和MATLAB Runtime的文件。
  • for_testing文件夹包含创建的所有由MCC创建的文件,像二进制文件和jar,头和源文件,使用这些文件来测试安装。
  • for_redistribution_files_only文件夹包含应用程序的重新发布所需的文件。这些文件可以分发到那些有MATLAB或者有 MATLAB Runtime 的用户的电脑上。
  • PackagingLog.html是由编译器生成的日志文件。

给用户使用的话,发for_redistribution文件夹里的exe文件

双击name.exe文件,即可安装。

安装有两个部分,一个是Runtime,另一个是写的软件。

注意点

安装过程中,选择在桌面创建快捷方式。

有个坑。

使用的时候需要“以管理员身份运行
以管理员身份运行

不然涉及到文件的读取、写入之类的操作时,可能会出现失效的情况。

本博主在这个上面遇到的坑可大了,因为涉及到大量的文件操作,但是一直出现没有反应的情况。最后发现使用“以管理员身份运行”就正常了。

每次都要右击闲麻烦的话,可以设置下权限:

管理员身份运行

对部分快捷方式软件以管理员身份运行

1、在快捷方式图标,右键点击,选择属性

2、在打开页面,选择快捷方式栏目,点击下方的“高级”按钮

3、打开页面中,选择“用管理员身份运行”,前面打“√”,应用,确定

或是

切换到“兼容性”栏目,选择“以管理员身份运行此程序”,确定


总结一下:
1、如果电脑没有安装对应的RUNTIME的话,可以在独立APP中选择Runtime downloaded from web或者Runtime included in package,给他人使用的话,最好是选择Runtime downloaded from web,让客户在线安装能用的版本,因为Runtime有版本的区分。自己测试的话,选择for_testing文件夹里的exe文件打开使用。
2、第二种方法就是把runtime安装包和for_testing里的exe文件放在一块,先安装runtime,之后直接打开for_testing里的exe文件就好了。

matlab的Runtime官网下载地址:不限速
https://ww2.mathworks.cn/products/compiler/matlab-runtime.html
官网runtime下载



博主个人公众号
版权声明 ▶ 本网站名称:陶小桃Blog
▶ 本文链接:https://www.52txr.cn/2021/matlab_app.html
▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!

最后修改:2022 年 06 月 12 日
如果觉得我的文章对你有用,请随意赞赏