代码改变世界

从Linux传输apk包到Windows系统,一周的心路历程,累

2019-12-10 13:57  在奋斗的菜鸟  阅读(408)  评论(0编辑  收藏  举报

1、在Windows服务器上打开一个cmd窗口,执行脚本,只适用于Windows系统     --NO

String cmd = "cmd.exe /c adb -s f223413 install -r D:\apps\rent_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\rent_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