当前位置: 首页 > news >正文

Go Energy 跨平台(GUI)应用编译和安装包制作

在这里插入图片描述

构建打包 energy cli

平台介绍描述
windowNSIS安装包制作工具可通过 energy cli 安装
linuxdpkg 命令系统自带
macosenergy 仅生成 xxx.app系统自带

安装包制作

config/energy_[os].json是初始化应用时自动生成的应用配置文件,在编译和制作应用安装包时使用

Windows

  • info: 应用的二进制执行程序配置
  • nsis: 安装包程序配置
config/energy_windows.json
{"name": "{{.Name}}",    // 应用名"projectPath": "@",     // 项目目录, @: 当前命令执行目录"frameworkPath": "$ENERGY_HOME", // CEF 二进制框架目录, $ENERGY_HOME: 取环境变量"assetsDir": "assets","outputFilename": "{{.OutputFilename}}", // 编译二进制执行文件名"libemfs": "libs","info": {"manifest": "@/{{.Name}}.manifest", // app.manifest 配置应用属性"icon": "@/resources/icon.ico",     // 应用图标"companyName": "{{.CompanyName}}",  // 文件属性信息"productName": "{{.ProductName}}",  // 文件属性信息"fileVersion": "1.0.0",             // 文件属性信息"productVersion": "1.0.0",          // 文件属性信息"copyright": "Copyright.....",      // 文件属性信息"comments": "Built using ENERGY (https://github.com/energye/energy)","fileDescription": "Built using ENERGY (https://github.com/energye/energy)"},"nsis": {"include": [],                  // 额外要打包的资源, 绝对路径"exclude": ["cache"],           // 忽略"icon": "@/resources/icon.ico", // 安装程序图标"unIcon": "@/resources/icon.ico",// 安装程序卸载图标"license": "",                  // 安装包授权信息界面, xxx.txt 绝对路径,不为空时"language": "english",          // 安装包界面语言,默认英文: english,中文: SimpChinese"requestExecutionLevel": "admin",// 执行等级, 空""当前用户"compress": "7za",              // 空时不启用7za压缩"compressName": "framework.7z"  // 7z 压缩包名称},"author": {"name": "yanghy","email": "snxamdf@126.com"}
}
构建二进制执行文件
  • 进入项目根目录执行编译命令

energy build

在这里插入图片描述

生成安装包程序
  • 进入项目根目录执行打包命令

energy package

  • 安装包输出目录
    approotpath/build/windows/appname-install.exe

在这里插入图片描述

关于NSIS脚本
approotpath/build/windows
installer-nsis.nsi
installer-tools.nsh
你可以自己配置nsis脚本, 自定义安装程序界面.

Linux

  • info: 应用的二进制执行程序配置
  • dpkg: 安装包程序配置
config/energy_linux.json
{"name": "{{.Name}}",      // 应用名"projectPath": "@",       // 项目目录, @: 当前命令执行目录"frameworkPath": "$ENERGY_HOME", // CEF 二进制框架目录, $ENERGY_HOME: 取环境变量"assetsDir": "assets","outputFilename": "{{.OutputFilename}}",// 编译二进制执行文件名"libemfs": "libs","info": {"icon": "@/resources/icon.png",     // 安装后的应用图标,建议修改"companyName": "{{.CompanyName}}",  // 文件属性信息"productName": "{{.ProductName}}",  // 文件属性信息"productVersion": "1.0.0",          // 文件属性信息"comments": "Built using ENERGY (https://github.com/energye/energy)"},"dpkg": {"include": [],"exclude": ["cache"],"package": "com.{{.CompanyName}}.{{.CompanyName}}","homepage": "https://github.com/energye/energy","compress": "7zz","compressName": "framework.7z"},"author": {"name": "yanghy","email": "snxamdf@126.com"}
}
构建二进制执行文件
  • 进入项目根目录执行编译命令

energy build

生成安装包程序
  • 进入项目根目录执行打包命令

energy package

  • 安装包输出目录
    approotpath/build/linux/appname-install.deb

MacOS

  • plist: 配置 xxx.app 的 Info.plist
config/energy_darwin.json
{"name": "{{.Name}}",    // 应用名"projectPath": "@",     // 项目目录, @: 当前命令执行目录"frameworkPath": "$ENERGY_HOME", // CEF 二进制框架目录, $ENERGY_HOME: 取环境变量"assetsDir": "assets","outputFilename": "{{.OutputFilename}}", // 编译二进制执行文件名"helperFilePath": "",                    // Helper 子进程执行文件完全文件路径, 不为空时有效"plist": {"icon": "@/resources/icon.png",        // 安装后的应用图标,建议修改"companyName": "{{.CompanyName}}",     // 文件属性信息"productName": "{{.ProductName}}",     // 文件属性信息"locals": [                            // 文件属性信息"zh_CN","en"],"cfBundleVersion": "1.0.0",            // 文件属性信息"cfBundleShortVersionString": "1.0.0", // 文件属性信息"copyright": "Copyright.....","comments": "Built using ENERGY (https://github.com/energye/energy)","include": [],"exclude": ["cache"]},"author": {"name": "yanghy","email": "snxamdf@126.com"}
}
构建二进制执行文件
  • 进入项目根目录执行编译命令

energy build

生成安装包程序
  • 进入项目根目录执行打包命令

energy package

  • 安装包输出目录
    approotpath/build/darwin/appname-install.app
http://www.lryc.cn/news/480053.html

相关文章:

  • 众测遇到的一些案列漏洞
  • 大华乐橙设备私有平台EasyCVR视频设备轨迹回放平台支持哪些摄像机?摄像机如何选型?
  • 实战攻略 | ClickHouse优化之FINAL查询加速
  • 5G NR gNB 逻辑架构及其功能拆分选项
  • PyQt入门指南四十六 性能优化策略
  • 【RMA】基于知识注入和模糊学习的多模态歧义分析
  • CulturalBench :一个旨在评估大型语言模型在全球不同文化背景下知识掌握情况的基准测试数据集
  • Git 入门篇(一)
  • 一个灵活且功能强大的动画库 Popmotion
  • 如何解决传统能源企业后备人才不足、人才规划缺失问题
  • PDF模板制作与填充(Java)
  • LeetCode题练习与总结:迷你语法分析器--385
  • Unity WebGL交互通信
  • 王道考研之数据结构
  • 实习冲刺Day17
  • 我自己nodejs练手时常用的一些库基础用法
  • 岛屿数量问题
  • 智能制造基础- TPM(全面生产维护)
  • C++学习笔记----11、模块、头文件及各种主题(一)---- 模板概览与类模板(4)
  • 【力扣热题100】[Java版] 刷题笔记-160. 相交链表
  • 多线程和线程同步复习
  • 贝式计算的 AI4S 观察:使用机器学习对世界进行感知与推演,最大魅力在于横向扩展的有效性
  • 容器化技术入门:Docker详解
  • 基于SSM(Spring + Spring MVC + MyBatis)框架的药房管理系统
  • 在服务器里安装2个conda
  • web安全漏洞之ssrf入门
  • 《NoSQL 基础知识总结》
  • 高校宿舍信息管理系统小程序
  • 2.索引:MySQL 索引分类
  • sklearn红酒数据集分类器的构建和评估