如何不启动Unity执行对应的脚本如何不启动Unity执行对应的脚本这一篇文章是我完善我们元宇宙APP整体打包流程中想

因为我们的项目是Flutter+Unity的混合体,所以每次打包都需要导出iOS和安卓的Unity包。之后再按照平时打Flutter的安装包出来。

我们目前的Unity算是比较庞大的架构,用的是目前阿里云达摩院的底座。别说这底座不是一般的烂,从阿里的一个桌游临时剥离出来的框架,代码老旧,很多遗留的资源等等。

我们采用了最新的HybridCLR热更新框架,并且使用AA包作为管理资源热更。对于Unity和Flutter进行通信我们采用flutter_unity_widget这个框架。

导出iOS的包就需要执行下面的操作

①HybridCLR

①.①HybridCLR/CompileDll/ActiveBuildTarget

①.②HybridCLR/Generate/All

①.③HybridCLR/Build/BuildAssetsAndCopyToStreamingAssets

②Addressables

②.①Addressables/BuilddatainAPP

③FlutterExport

③.①ExportFlutteriOSRelease

③.①ExportFlutterAndroidRelease

但是上面操作完毕,给iOS的包还不能马上使用,还需要额外的操作。

打开iOSUnity的项目目录的路径~/HybridCLRData/iOSBuild下,执行下面的脚本。

bashbuild_libil2cpp.sh执行完毕之后,将目录~/HybridCLRData/iOSBuild/build/libil2cpp.a文件复制到Flutter项目中~/ios/UnityLibrary/Libraries/libil2cpp.a处。

打开~/ios/UnityLibrary/Unity-iPhone.xcodeproj文件将UnityFramework的Bitcode关闭掉。

至此导出包的全部操作才算操作完毕,整体的过程我写出来之后就已经感觉很繁琐了,别说每天因为Unity的更新就要重新的操作。

为此我一直想通过Dart写一套打包脚本,不但包含导出Unity包,之后打出apk/ipa的安装包。苹果的就上传Testflight安卓的就上传到蒲公英。

写的时候发现其实整个过程步骤还是挺多的,所以就萌发了上一篇要做一个自动化流程软件,可以将这些流程组合起来的想法。

比如包含至少下面的自动化插件

应该这个过程可以公开使用的步骤还是很多的,就可以将一个完整的流程拆分处不同的插件。每个插件都会死一个独立命令行程序,也可以是其他语言实现的,比如用Shell。

不同语言怎么串联起来呢?只需要将他们规定输入和输出保持一直都统一走文件,这样整体运行期间的变量可以通过Environment获取也可以将每个插件运行输入和输出放在一个全局的字典保管,其他程序可以通过运行的ID进行访问。

这个扯远了,现在继续说怎么实现Uinty的自动化打包。

本来昨天我是持怀疑态度的,心想这个按照理论上应该支持,但是不是很确定。通过Ai的推荐,果然有对应的参数和方法。

我很快就按照所说的方法,在Editor创建了Unity编辑器脚本。不过在测试的过程中发现了一些坑需要注意。

1在对应文件夹下运行不会读取当前文件夹项目进行操作,而是最近UintyHub打开的项目,可以使用-projectPath这个参数进行修改

2对于当前的Unity没有退出完毕,会弹出一个运行允许一个Unity实例错误。

3默认没有关闭UI,会影响执行的速度。

目前我们最终的打包命令如下:

/Users/king/Documents/2021.3.16f1c1/Unity.app/Contents/MacOS/unity-quit-batchmode-executeMethodExportAppData.exportAndroid-nographics-projectPath./第一个参数是Unity的路径,每个人的路径可能不一样,需要自己设置。

第二个参数代表运行完毕自动退出

第三个参数是开启批处理模式,这样不会启动Untiy界面

第四个参数代表要执行Unity的对应方法

第五个参数是执行的方法类名和方法这个类名和方法一定要唯一,方法要是静态方法。

第六个参数不启动UI支持在只有主机的电脑运行

第七个参数是代表设置自定义工程路径

第八个参数是代表工程路径

代表是需要根据情况进行修改的,代表参数不需要变动的。第八个参数如果在当前的工程运行也是可以不进行修改的。

ExportAppData.exportAndroid这个实现的过程就不用说了,其实也很简单就把对应功能菜单的方法串联在一起调用即可。

THE END
1.so文件怎么打开?教你两招,轻松开启!在日常生活中,我们常常会遇到各种各样的文件格式。其中,.so文件是一种常见的共享库文件格式,广泛应用于Unix和Linux操作系统。但是,有时候我们需要在Windows环境下打开**.so文件,这该怎么办呢?本文将教你两招,轻松开启.so**文件!一、使用记事本打开 我们可以尝试使用记事本打开**.so文件。在Windows操作系统https://baijiahao.baidu.com/s?id=1773901064559786795&wfr=spider&for=pc
2.libmagic文件类型识别库的使用magic_open:打开magic库,其实就是内部的初始,然后获得magic_t句柄 magic_load:根据指定的magic.mgc文件,加载该文件 magic_file: 文件类型识别,传入magic_t句柄和要识别的文件名称 magic_close: 使用完成后,关闭magic库除了使用magic_file传入文件名进行文件类型识别外,libmagic还提供了magic_buffer这个函数进行文件类型https://zhuanlan.zhihu.com/p/639754021
3.InDesign中的CreativeCloudLibraries在Creative Cloud Libraries 中存储、同步和共享您最喜欢的 InDesign 资源。随时随地根据您的需要,访问、管理、协作并使用您的创意元素(颜色、文本样式或图形)。也可以和其他用户共享库,从而在项目中相互协作。通过 Creative Cloud Libraries,无论是在 InDesign CC 中https://helpx.adobe.com/cn/indesign/using/creative-cloud-libraries-sync-share-assets.chromeless.html
4.关于Libraries开源项目使用教程关于Libraries开源项目使用教程 AboutLibrariesmikepenz/AboutLibraries: 这是一个Android库,用于方便地展示应用程序中所使用的所有第三方开源库及其许可证信息。开发者可以轻松地在应用内集成一个“关于”页面来展示这些信息。项目地址:https://gitcode.com/gh_mirrors/ab/AboutLibraries https://blog.csdn.net/gitblog_01173/article/details/141380973
5.macidea打开工程配置globallibrariespython篮框中第一个应用“访达”是系统默认的文件管理工具,打开访达,可以通过shift+cmd+g键打开目录搜索查找目录(配合tab)。 点击红框中的苹果图标》选择关于本机,查看机器信息。 2、学会调试你的触控板: mac的触控板比windows平台下的要好用很多,完全可以取代鼠标,为了使用的更舒适,可以在菜单栏中的苹果图标》系统偏好https://blog.51cto.com/u_16099228/12356390
6.AltiumDesigner如何调出Libraries(库).https://dgdzsyzx.gdut.edu.cn/info/1120/1202.htm
7.HDX是什么文件HDX文件怎么打开HDX文件怎么打开?HDX文档是华为专有的文档格式,需要使用华为资料应用桌面工具HedEx Lite打开查阅。将HDX文档拷贝至HedEx Lite软件<libraries>目录后,双击HedExLite.exe即可打开HDX文件。 针对企业、政府等行业用户: 在华为企业Support网站(http://support.huawei.com/enterprise) 注册后提升权限至产品用户/维保用户/合作https://www.cnbanwagong.com/hdx.html
8.AgilentIOLibrariesSuite15.5无法安装,无法启动IO库答案对人有帮助,有参考价值0 1.按Windows开始按钮2.在搜索字段中键入+ services.msc + 3.打开找到的https://bbs.elecfans.com/jishu_1835777_1_1.html
9.打开PhotoshopCC总是显示:由于初始化CCliBraries时遇到问题,库ALT+CTRL+SHIFT,+鼠标右击-打开。然后会出现初始化PS,就行了、https://www.3d66.com/answers/question_1216775.html
10.教你用Mac共享,轻松打造自己团队的SketchLibraries!前段时间发现蓝湖的同步盘从官网下线了,问了客服,说是维护中,具体开放日期不明(目前已正常)。当时我们的设计团队要用这个同步盘来维护 Sketch 的设计组件 Libraries,看来现在要换个思路来解决。网上有 Dropbox 和 GitHub 解决方案,但是对于设计师来说还是难以理解,https://www.uisdc.com/mac-sharing-creating-sketch-libraries/
11.如何使用IDEA查看jar包,jar包的正确打开方式原理就用 IDEA 是把 jar 包添加为 Libraries,然后展开后即可查看。 因为是编译后的 class 文件,所以注释是没有的。https://cloud.tencent.com/developer/article/2209136
12.BrandeisUniversityBrandeis University is a private research university with a liberal arts focus in Waltham/Boston, Massachusetts.http://www.brandeis.edu/
13.NorthwesternUniversityNorthwestern is one of the country’s leading private research and teaching universities, located in Evanston, IL. Our highly collaborative environment provides our diverse students and faculty with exceptional opportunities for personal and professionalhttps://www.northwestern.edu/
14.4.添加第三方库解压开发环境搭建下的libraries.zip文件,然后把里面的所有文件复制进入C:UsersAdministratorDocumentsArduinolibraries文件夹下。5.重启arduinoIDE开发软件,打开Sketch->Include Library,往下拉,就可以看到多了一些第三方库的名称,需要用到哪个就点击添加就可以。6https://www.yahboom.com/build.html?id=2892
15.AltiumDesigner17打开pcb文件卡死(或打开后点击libraries卡死Altium Designer17打开pcb文件卡死(或打开后点击libraries卡死)解决方法,具体操作方法如下,首先我们的点击如下操作。 HKEY_CURRENT_USER\Software\Altium\AltiumDesigner\DesignExplorer\Preferences\IntegratedLibrary\LoadedLibraries下所有注册表(除了默认的那一个)删除后如图:看到此处我们进行删除。 https://www.fanyedu.com/content/1120.html
16.JeanandAlexanderHeardLibrariesVanderbiltUniversityQuick Guide Current Students Faculty & Staff Alumni & Friends Access and Use Ask a Librarian Buchanan Library Fellows Catalog Search Databases A-Z Guide to the Libraries Hours Immersion Resources Interlibrary Loan Journal Search Librarians & Experts Quiehttp://www.library.vanderbilt.edu/
17.Autodesk安装程序在启动时崩溃或关闭重新安装 Microsoft C++ Redistributable Libraries: 打开“控制面板”并访问已安装的程序列表 卸载所有 Microsoft C++ Redistributable Libraries。 运行安装程序,将重新安装这些模块 安装最新的 Windows 更新,尝试再次提取下载的安装文件,然后安装。此信息是否有用? 是否需要http://knowledge.autodesk.com/zh-hans/support/eagle/learn-explore/caas/sfdcarticles/sfdcarticles/CHS/AutoCAD-Installer-crashes-when-you-double-click-to-start.html
18.修复在初始化CreativeCloudLibraries时出现的问题尝试打开 Creative Cloud 应用程序中的资产,或打开“库”面板中的资产时,可能会出现以下错误之一: 由于初始化 CC Libraries 时出现问题,指向库图形的现有链接将显示为断开。 文件不存在,或您没有权限,或另一个应用程序正在使用此文件。 如何修复此问题 http://www.360doc.com/content/23/0606/23/69596681_1083757960.shtml
19.AltiumDesigner17打开pcb文件卡死(或打开后点击libraries卡死或打开后点击libraries卡死)解决方法Altium Designer17打开pcb文件卡死(或打开后点击libraries卡死)解决https://www.pcbbar.com/thread-16641-1-1.html
20.HomeDegrees and programs powered by experience Undergraduate Graduate Doctoral NEWS, DISCOVERY, AND ANALYSIS FROM AROUND THE WORLD A Northeastern professor, two co-ops and a robot go into West Village… How will AI scribes affect the quality of health care? https://www.northeastern.edu/
21.FFmpegconfigure now fails if autodetect-libraries are requested but not found We strongly recommend users, distributors, and system integrators to upgrade unless they use current git master. October 30th, 2016, Results: Summer Of Code 2016. This has been a long time coming but we wanted to give ahttp://www.ffmpeg.org/
22.HofstraUniversityLongIsland,NewYorkLong Island's largest private university offers small classes, dedicated faculty, and a beautiful, energized campus, plus all the opportunities of New York City nearby.https://www.hofstra.edu/
23.怎么开启phpMyAdmin高级功能打开phpMyAdmin\libraries\文件夹内的config.default.php文件。 在config.default.php文件内 1)查找: $cfg['Servers'][$i]['pmadb'] = ''; 修改为: $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; 2)查找: $cfg['Servers'][$i]['bookmarktable'] = ''; http://www.codebaoku.com/it-php/it-php-yisu-323598.html
24.如何取消Idea开始界面打开默认项目配置怎么去掉IDEA默认打开工程,显示可以选择工程的页面 idea是非常强大的开发集成工具,打开idea软件默认会打开最近一次的项目工程,有时候我们并不需要开发上次的工程,而需要打开另外一个工程,这样默认给打开的工程需要关闭切换到新的工程。那么可不可以取消idea默认打开工程呢,当然是可以的。下面就来介绍下如何取消设置。1、打https://www.pianshen.com/article/1442933383/
25.whileloadingsharedlibrariesLinux面板2完成后,启动报错/www/server/php/72/sbin/php-fpm: error while loading shared libraries: libhttps://www.bt.cn/bbs/thread-114614-1-1.html