1、在Windows服务器上打开一个cmd窗口,执行脚本,只适用于Windows系统 --NO
String cmd = "cmd.exe /c adb -s f223413 install -r D:apps ent_test_v1.6.0.apk";
Runtime.getRuntime().exec(command)
在Linux Jenkins里加 Windows批处理命令 :java wmic /node:192.168.27.209 /user:Administrator /ptassword:123456 process call create "cmd.exe /c adb -s f223413 install -r D:apps ent_test_v1.6.0.apk"
遇到的问题:Jenkins在执行完批处理命令后,无法切换回Linux系统,导致编译失败
2、在Linux服务器上安装 lrzsz,用sz从Linux服务器下载apk到Windows系统 --NO
1)CRT里设置默认下载路径
2)写下载脚本
3)./download.sh 在Linux上执行shell,可以下载到本地
4)但是,把脚本引入到Java工程里执行时,sz没有被执行,只输出了echo里的语句
3、引入com.jcraft.jsch.*,用channelSftp.get(src, dst); ,从Linux SFTP文件到Windows系统,在Windows本地执行Java脚本通过,且下载速度比sz快,但是通过Linux 的Jenkins job执行,Windows变成了远程服务器,需要远程连接的服务器 变成了Windows系统。。。天哪 。。难道要判断是Linux发起还是Windows发起,再去连Windows或者Linux传递文件吗 ?(由于是自动化 脚本,所以可能会从本地Windows发起或者Linux Jenkins job发起) ----太麻烦了,NO
4、用Windows SSH,可以从Windows,或Linux Jenkins job,执行Java脚本,实现从Linux 传输文件到Windows上 --Yes
由于Windows上不自带SSH,所以需要手动下载freeSSHd Server,配置用户名,密码,Java代码通过设置的用户名密码连接Windows系统
具体操作方法参考:https://www.cnblogs.com/cainiaotest/p/12014681.html