appium-desktop经过二次开发后,需要打包为应用提供给其它同学使用。我们知道appium-desktop是使用electron来构建跨平台桌面应用程序。electron有electron-packager和electron-builder两种打包工具。

首先使用electron-packager

1、先安装electron-packager

安装命令:cnpm install  electron-packager --save-dev.

安装成功后会在package.json中的devDependencies生成代码:"electron-packager": "版本号"

2、打包

  electron-packager <sourcedir> <appname> <platform> <architecture> <electron version> <optional options>
  • sourcedir:项目所在路径
  • appname:应用名称
  • platform:确定了你要构建哪个平台的应用(Windows、Mac 还是 Linux)
  • architecture:决定了使用 x86 还是 x64 还是两个架构都用
  • electron version:electron 的版本
  • optional options:可选选项

我用的命令:electron-packager /Users/houlandong/code/appium-desktop appium-desktop Mac X64 0.0.2。

该方式可以打包成功,但是会破坏源码,打包后本地启动会报错:Unnecessary escape character: \"。

放弃该打包方式

第二使用electron-builder

electron-builder在appium-desktop下载依赖时已经安装,其实仔细看下appium-desktop的源码,在CONTRIBUTING.md中已经写明了appium-desktop的打包方式就是使用electron-builder。

打包过程遇到的问题:

出现一个死循环的错误:

问题的原因是我们使用cnpm  install下载的appium-desktop依赖,因为npm install命令需要访问国外的网站,导致下载时有时候会非常慢,一般我们都建议使用cnpm。那么记住了如果要打包应用必须使用npm install下载依赖。

解决这个问题就可以使用命令打包了。

我使用的命令:electron-builder --mac

参数

  --mac, -m, -o, --macos   Build for macOS,                              [array]--linux, -l              Build for Linux                               [array]--win, -w, --windows     Build for Windows                             [array]--x64                    Build for x64 (64位安装包)                     [boolean]--ia32                   Build for ia32(32位安装包) [boolean] --armv7l Build for armv7l [boolean] --arm64 Build for arm64 [boolean] --dir Build unpacked dir. Useful to test. [boolean] --prepackaged, --pd 预打包应用程序的路径(以可分发的格式打包) --projectDir, --project 项目目录的路径。 默认为当前工作目录。 --config, -c 配置文件路径。 默认为`electron-builder.yml`(或`js`,或`js5`)

其实使用electron-builder打包还需要在package.json中配置很多东西,只是appium-desktop已经为我们配置好,我们只需要执行命令就行。具体可以看链接:

https://segmentfault.com/a/1190000016695922?utm_source=tag-newest

打包成功后,会生成安装包以及执行程序。

我们安装程序或者直接打开执行程序会发现程序报auto-updater失败,获取签名失败。网上有方案可以解决签名问题(https://segmentfault.com/a/1190000012902525),但是比较复杂,本人没有尝试使用。其实appium-desktop是经过我们二次开发的,不需要自动更新。我直接设置自动更新为false。再次进行打包,打包成功后,运行程序成功,那么可以把安装包提供给其它同学使用二次开发的功能了

转载于:https://www.cnblogs.com/leohou/p/10946002.html

(三)Appium-desktop 打包相关推荐

  1. Appium Desktop介绍-xcodebuild failed with code 65 问题解决

    Appium Desktop介绍-xcodebuild failed with code 65  问题解决 一.Appium Desktop介绍 Appium Desktop是一款用于Mac.Wind ...

  2. 使用Appium Desktop实现录制脚本

    上篇文件讲了安装教程这里给个连接,自行下载 https://pan.baidu.com/s/1MupElpYcmeQH3uPQ1CUWjw 提取码:AJDG 开始今天的操作 凡事都需要有目标,今天的目 ...

  3. 解决Appium Desktop 测试中,元素不能准确定位的问题

       在Appium desktop 测试中,会经常遇到元素不能准确定位的问题,以百度地图为测试实例,当进入主界面后,要定位 "退出" 这个 element,通过 appium d ...

  4. Pyside2 学习系列三:PyInstaller打包项目瘦身(超详细的Pyside2 攻略)

    继上一篇文章打包后,发现包太大了,我们现在开始进行瘦身优化. 本项目的所有演示代码:github可在这里下载. 打包只用的工具为PyInstaller. 不想细看的朋友 可以直接跳到 最后 方法对比 ...

  5. Electron教程(三)如何打包 electron 程序:electron-forge 的使用教程

    Electron教程(三)如何打包 electron 程序:electron-forge 的使用教程 Electron教程(一)什么是 Electron,由来.适用场景 和 Electron 的环境搭 ...

  6. android 获取控件 id 工具,如何使用appium desktop 获取Android APP 控件的id

    背景: 随着Android 版本的更新,你会发现我们之前用的最新的版本的Appium 1.5.3无法启动我们的 Android APP 在模拟器为7.0的设备上,所以我们有必要了解如何使用 appiu ...

  7. appium desktop介绍

    android自动化前提依赖 1.adb工具:专门用于andriod自动化测试的一个工具 2.模拟器或者真机 模拟器:网易mumu:针对固定android版本的模拟器,只支持android 6.0版本 ...

  8. 探究 Xcode 命令行用法三:xcodebuild 打包实践(上)

    本文还是 adat 项目的延伸,开始介绍打包实践.打包相关的内容繁多,作者把它分成了多篇文章,本文主要是概念部分.理解这些概念对于自己动手编写打包命令至关重要.如果你使用 fastlane.bitri ...

  9. Android(三)——将程序打包成APK文件,进行APK签名以及反编译APK

    文章目录 1. 签名的作用 2. Android Studio 如何打包签名 3. 反编译 APK 3.1 获取图片资源 3.2 获取 .XML 资源 3.3 获取代码资源 1. 签名的作用 Andr ...

  10. appium 环境搭建(不推荐安装此版本appium,推荐安装appium desktop)

    一:安装node.js 1.双击这个软件 2.一键安装,全都下一步,不要私自更改安装路径 3.打开cmd,输入npm,出现如下截图表示成功 二:安装appium 1.双击appium-installe ...

最新文章

  1. 8个可以提高数据科学工作效率、节省宝贵时间的Python库
  2. 《3D打印:正在到来的工业革命(第2版)》——1.6节先驱者们在做什么
  3. 精确微妙计时minicom 源码节选
  4. redux学习笔记归纳
  5. 在ubuntu16.04中一键创建LAMP环境 新系统
  6. Py之PIL:Python的PIL库的简介、安装、使用方法详细攻略
  7. win10 如何配置 java jdk1.8环境变量(2017.8.17 )jdk1.8.0_144
  8. Parallax Mapping
  9. Dubbo的RPC原理
  10. 董明珠人设崩塌了吗?
  11. windows-sys:21:windows系统(win7 win10 win11)设置护眼色详细过程
  12. ABP框架实战 1.基础信息维护
  13. Cesium自定义编辑多边形
  14. 推荐一款简单易用线上引流测试工具:GoReplay
  15. 冒泡排序法和选择排序法比较(从小到大,升序)
  16. 怎么权衡不同类型项目的收益产出比 ROI?
  17. 斗战神服务器正在维护6,17173《斗战神》专区——3月15日维护公告:疲劳刷新改为每天6点...
  18. Red Hat Enterprise Linux Server release 7.4 (Maipo) 安装mysql5.7.36
  19. Biotin-PEG-MAL,生物素PEG马来酰亚胺
  20. Selective Sparse Sampling for Fine-grained Image Recognition

热门文章

  1. 面试中的老大难-mysql事务和锁,一次性讲清楚!
  2. ReactJs 第二章 JSX
  3. 查找目录下的及子目录下的 所有的给定后缀名的文件并将其路径打印到一个文件中。
  4. androidq获取文件正式路径_android Q 新特性
  5. golang高并发的理解
  6. Java高并发编程详解系列-Future设计模式
  7. linux eclipse安装、新建并运行java程序
  8. JSONObject转换JSON--将Date转换为指定格式
  9. 通过QEMU-GuestAgent实现从外部注入写文件到KVM虚拟机内部
  10. Laravel核心解读 -- 事件系统