前段时间用Matlab App Designer做了一个程序封装,最终打包成exe给用户使用,在达到成功使用的路上踩了不少坑。在这里,简单介绍一下封装的正确姿势。
封装点击共享,一般选择Matlab App或者是独立桌面App。
Matlab APP最终的形式是将做的软件作为Matlab的插件,安装后会放在APP里的我的App这个地方。
独立桌面APP则是一种独立的exe文件,不需要安装在Matlab中,双击即可打开使用那种。大概意思就和下面这中程序一样,双击就能打开使用。
下面以独立桌面App为例讲解。
首先是软件的基本信息部分。
打开软件弹出来的封面即是启动画面。
接着是软件安装文件的设置:
需要主要的是,m文件之类的封装到安装包里之后,是可以在exe内部运行的,但是会做加密处理,如果程序中有将m文件复制到指定位置之类的操作,建议不要这样做,因为打开m文件之后会是乱码。
这些地方设置完成后,就可以开始正式打包了。
打包这里有两个选项。
一个是Runtime downloaded form web,就是在线下载Runtime
一个是Runtime included in package,就是把Runtime一块本地打包到安装包里。
如果是给客户的话,选择网上下载就可,让他在自己在线自动安装,runtime打包到安装包里会使安装包高达1G,传输起来很是不方便。
设置完成之后,点击“Package”进行打包。
上面反复提到RunTime,这里简要介绍一下。
官方文档是这样解释的:MATLAB Runtime 是一套独立的共享库,可以执行已编译的 MATLAB 应用程序或组件。当 MATLAB、MATLAB Compiler和 MATLAB Runtime 一起使用时,您可以快速、安全地创建和分布数值应用程序或软件组件。
简单地来说,就是Matlab程序的解释器,安装之后,会将matlab的程序重新编译一遍,使所在的电脑能够正确打开相关程序。runtime还有matlab的内置函数,使得程序成功运行。
给用户使用的话,发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