Android自动化构建之使用JavaWeb实现上传打包加固多渠道-WEB篇(下)

传送门:Android自动化构建之使用JavaWeb实现上传打包加固多渠道-GUI篇(上)

一、前言:

  Android打包是一件比较繁琐又耗时的操作,相信很多朋友都想自己搞一个属于自己的自动化构建程序,本文则是对这一程序的实现提供一个思路方法,没有采用 Jenkins持续集成 这种方式来实现,但大概思路都大同小异。
  关于本文需要了解的一些东西:

  1. 实现思路为:使用JavaGUI做一个zip打包工具,将自定义配置信息写入项目并打包成zip格式,最终将文件拖拽上传至服务器,服务器进行一系列的操作:解压,读取配置,打包,加固,多渠道,最后下发至浏览器端进行自动下载,由于公司电脑是WindowsServer2012,所以内部实现是基于Windows命令的
  2.Android项目构建配置都各有不同,所以本文主要提供一个实现思路,感兴趣的朋友可以自己动手实现一个更适合自己的构建工具
  3.项目分为GUI端和Web端,均为Java实现,大部分操作都是流/IO,字符串操作,简单易懂
  4.使用GUI端需要的配置:JDK环境变量
  5.使用Web端需要的配置:IntelliJ IDEA、Tomcat服务器、JDK环境变量、Gradle环境变量、360加固宝PC端、AndroidSDK、Android端所使用到的所有签名文件
  6.开发工具,环境变量配置等本文就不多罗嗦了,毕竟不是使用说明书,但是会讲一下Tomcat与IDEA配置所产生的1099端口冲突的坑,还有Gradle多环境配置
  7.项目地址:
     GUI端:[AutoBuildForAndroid-GUI](https://github.com/SmartKidsLOL/AutoBuildForAndroid-GUI
     Web端:[AutoBuildForAndroid-WEB](https://github.com/SmartKidsLOL/AutoBuildForAndroid-Web

二、WEB端的实现效果图

  由于CSDN图片大小要求,所以GIF图只能演示5M以下,实际效果还请自行下载查看。
  使用上篇的AndroidZipGUI工具将Android项目打包成zip后,直接拖进浏览器动画中,浏览器动画会加速,当任务失败/完成后动画速度会恢复,因为项目在后台已经提前打包加固多渠道处理完成,所以再次将已完成的项目拖进去后会直接进行下载。服务器会默认保存所有已完成的任务(默认第二天凌晨自动清理)。

三、服务器端环境配置(Gradle多环境配置与IDEA的1099坑)

其他环境配置:

  360加固包: 要提前放至服务器,并配置好(登录账号,签名信息,多渠道等等)
  AndroidSDK: 从客户端拷贝过来即可

Gradle多环境配置:

  为了使用方便,可以将自己本地端Studio下的Gradle文件夹拷贝至服务器即可,最好单独放一个文件夹,而不是C盘。
  首先配置环境变量,以我的win10为例:

  注意,变量名为什么是GRADLE_USER_HOME而不是GRADLE_HOME或其他,好奇的朋友可以去任意的Android项目根路径下找到 gradle/wrapper/gradle-wrapper.properties文件查看即可便明白。

  其次,注意:变量值为什么不指定到Gradle的根目录下呢?因为如果指定到Gradle的根目录,当使用全局环境变量执行Gradle命令时,首先会检测gradle-wrapper.properties此文件中的Gradle环境变量——也就是GRADLE_USER_HOME,如果你的Gradle环境变量不是这个名字或者指定的目录不是上面目录,则gradle默认会将未找到的Gradle编译版本下载到默认路径或者是你已指定的某个Gradle目录下,则会造成重复下载,上面的话虽然有点绕,没有表述好,但请读者请这样配置就可以了。


  因为从客户端拷贝过来的Gradle文件夹已经存在很多下载好的,所以这样配置可以省去编译再下载的功夫,其次也利于管理,最后添加至Path系统环境路径中:

IDEA启动Tomcat时运行Java CMD命令/其他操作遇到的1099端口被占用的坑:

  此坑是基于IDEA的JMX插件端口问题,当使用IDEA开启Tomcat后,运行Java的Process类调用CMD执行命令时会报出该错误,暂时没有找到有效方法,请勿浪费时间。关于JMX是什么,不是此文重点,请自行百度/知乎即可。
  解决方法:不要使用IDEA运行Tomcat,当你想要测试项目时,使用IDEA打包路径选择至Tomcat下的webapps目录,再Build Artifacts,手动开启Tomcat即可。

四、怎么使用:

  在上一章中已经讲过,打包最终是根据Gradle配置不同而打不通的包。

  1.先配置好IDEA

    JDK如果已经配置全局变量,则会默认使用环境变量下的jdk,Tomcat需要配置为自己的版本,先配置服务器后再在此图依赖下导入Tomcat源码即可。

  2.其次配置自己的服务器路径、自定义参数。

     将Web端项目部署用IDEA部署至服务器后,需要修改 constance 包下的 CustomConstants 类,这个是我为了方便配置,将主要字符串抛出来供使用者方便配置的,必须在此类中修改为自己的服务器参数路径:

public class CustomConstants {
   
    /**
     * 自己的项目和360加固包盘符路径
     */
    // 服务器文件存放的盘符
    public static final String CMD_DISC_D = "d:";
    // 360加固宝所在的盘符
    public static final String CMD_DISC_H = "d:";

    /**
     * 需要修改的服务器Base路径
     * 自动化构建根目录,与上面的{@link #CMD_DISC_D}盘符相对应
     */
    public static final String AUTO_BUILD_ROOT_PATH = "D:\\AutoBuild";
    /**
     * 360加固目录,与上面的{@link #CMD_DISC_H}盘符相对应
     * 例:public static final String JIAGU_360_PATH = "D:\\360JiaGu\\jiagu";
     */
    public static final String JIAGU_360_PATH = "";

    /**
     * 定时任务每隔多长时间清除一次服务端文件,默认24小时,如无其他需求,则不需要改
     */
    public static final long DEFAULT_CLEAR_TASK_INTERVAL = 1000 * 60 * 60 * 24<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值