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

本文介绍了如何使用JavaGUI构建一个Android自动化打包工具,该工具将配置信息写入项目并打包成ZIP,上传到服务器进行解压、加固、多渠道打包。文中提供了一个实现思路,并分享了GUI端的实现效果图和使用方式,适用于有自定义配置需求的Android项目自动化打包。
摘要由CSDN通过智能技术生成
传送门: Android自动化构建之使用JavaWeb实现上传打包加固多渠道-WEB篇(下)

一、前言:

  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

二、GUI端的实现效果图

Image text
Image text
Image text

三、实现思路

  如图所示,GUI端很简单,使用也很简单,界面也很丑(请不要在意这些细节…),因为公司的项目是加入了Tinker热修复,考虑到对其他项目的适用性,所以目前只做了2个自定义配置,如图所示,1是选择打包方式是以普通Release或者Tinker热修复包,2是输入项目需要用到的打包签名文件名。点击开始打包后便将这2个配置以Key-Value方式存入Properties文件,以便服务器以流的方式取出来存入。写入配置后使用Zipentry压缩流方式将项目文件夹压缩为Zip格式输出到指定目录。
  项目以Mvp简单架构实现的,打包时会简单校验一下是否为Android项目文件夹。

  注:自动化打包思路都是以修改并自定义配置Gradle文件,但是前提是公司的业务及项目都可以用同样的Gradle配置,比如三方依赖,ndk配置等主要配置都相同,但只有签名,ApplicationID这些可变配置根据不同项目而不同,这种情况下可以将这些可变的变量配置写入到GUI界面中,对同类型的项目进行不同的变量配置即可,最后直接将这些配置写入到Gradle中,上传到服务器进行一系列操作即可。
  所以根据实际情况,我并没有将配置写入Gradle文件,而是另存为Properties文件,这种方式也是想以不动不同项目的gradle配置前提,完成自动化打包。

四、使用方式

  在你想要进行自动化打包的项目里加入以下2点:
  1.在你的Android项目根目录下创建 keystore.propertie 文件,加入以下内容:

KEY_PATH=D\:/tools/your
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值