怎么选择顺德网站建设,室内设计案例分享,45岁至50岁找工作,网站网站开发成本文章目录 序言说明效果 使用下载demo导入文件文件内容说明 配置gradle配置gradle.properties文件位置内容 项目中配置补充说明1.360加固配置2.curl乱码3.邮箱配置4.Fir Token 获取5.蒲公英 uKey#xff0c;api key获取 功能拓展GUI扩展gradle扩展下载Android gradle 插件 序言… 文章目录 序言说明效果 使用下载demo导入文件文件内容说明 配置gradle配置gradle.properties文件位置内容 项目中配置补充说明1.360加固配置2.curl乱码3.邮箱配置4.Fir Token 获取5.蒲公英 uKeyapi key获取 功能拓展GUI扩展gradle扩展下载Android gradle 插件 序言
由于公司的项目具有多个环境。每次打包都要手动选择编译类型打包还得上传fir和蒲公英。最后截二维码给测试。为了偷懒写了一个gradle 脚本。实现以下功能
自定义打包类型可以指定buildType和flavor支持定义多种多个服务器fir和蒲公英都支持每种服务都可以配置多个。支持自动打包上传上传使用curl具有上传进度支持360加固。只需要简单配置即可实现360自动加固支持自动获取git日志作为更新日志支持配置邮箱实现打包完成自动提醒。
说明
目前支持的Android gradle插件版本有 3.4.1 ,4.0.1 ,4.1.0
在项目根目录的build.gradle文件中可以查看插件版本。4.1.0以上是否支持还没测试可自行测试。 buildscript {repositories {google()jcenter()}dependencies {//gradle Android插件版本classpath com.android.tools.build:gradle:4.1.0}
}
效果
口说无凭直接看效果。
功能截图自定义打包类型可以指定buildType和flavor通过简单配置自动生成相关任务双击即可执行。发布到相关服务器显示进度信息上传成功自动生成二维码弹出提示框支持360加固配置邮箱发布成功自动提醒
使用
下载demo
相关的脚本和使用的demo已经上传至github。需要先下载demo。 Publish-GitHub地址 导入文件
将其中的publish文件夹引入到你的app module中
文件内容说明 文件功能icon/app_logo.png存放应用的图标使用的时候直接覆盖即可。建议尺寸150px*150px 太大的话还得压缩没必要。也可以不使用这个图片自行配置logo路径既可lib/AppPublish-1.0-SNAPSHOT.jar提供了弹窗功能二维码生成功能发送邮件功能log主要是存放curl访问接口时产生的临时文件访问结束后会自动删除。这个文件夹不要动它publish.gradle所有功能的脚本生成打包发布加固任务
配置gradle
配置gradle.properties
为了能在多个项目共享配置建议在gradle的安装目录配置一个gradle.properties文件。也便于一个部门内统一使用这个打包插件。更多内容可以参考【Gradle深入浅出】——Gradle配置一
文件位置 内容
#-------------------------App发布助手需要的变量---start---------------------------#注意配置的路径的时候需要使用转义符:要加转义符\也要。#比如地址是E:\abc 需要写成 E\:\\abc#360加固配置#360jar包地址不能包含中文
TRSJiaGuJirPathE\:\\WORK\\JiaGu\\360jiagubao_windows_64\\jiagu\\jiagu.jar
#360用户名
TRSJiaGuUserNamexxx
#360密码
TRSJiaGuPasswordyyy
#打包输出路径不能包含中文
TRSJiaGuOutPathC\:\\Users\\Administrator\\Desktop\\360JiaGuOut\\#Email配置#Email的Smtp服务器地址
TRSPublishEmailServersmtp.qq.com
#Email地址
TRSPublishEmailAddress123123123qq.com
#Email的密码或者token
TRSPublishEmailPasswordabcdabcd
#Email功能是否启用,true或fasle
TRSPublishEmailEnabletrue#公司的FIR#api_tokenTRSFirApiTokenabc123456789#公司的蒲公英配置#ukey
TRSPgyUKeyabc123456789
#api_key
TRSPgyApiKeyabc123456789
#安装的时候使用密码 true 或false
TRSPgyUsePasswordOnInstallfalse
#安装密码
TRSPgyInstallPassword123456
#-------------------------App发布助手需要的变量---end---------------------------补充: 这个properties文件最后解析成一个MapString,String 所以如果是路径包含了斜杠等符号需要使用转义。注释中有说明。
定义在该文件中的变量可以在build.gradle中直接使用。但是如果要让其转换成其他值比如String转Boolean需要这样写。 email {smtpServer TRSPublishEmailServeremailAddress TRSPublishEmailAddressemailPassWord TRSPublishEmailPassword//string转boolenable TRSPublishEmailEnable.toBoolean()}
因为360加固包不支持中文所以生成的apk的名字和存放的路径都不能含有中文
项目中配置
这是demo中的完整build.gradle文件。方便大家查看 。相关的说明我都写在注释里了。
plugins {id com.android.application
}
//引用打包插件
apply from: publish/publish.gradle//配置打包插件
ApkPublish {//配置加固信息 jiaGu{jarPath TRSJiaGuJirPathuserName TRSJiaGuUserNamepassword TRSJiaGuPassword//outPutPath路径中不能包含中文outPutPath TRSJiaGuOutPath}//配置应用信息在弹窗和而成二维码的时候需要使用apkInfo {appName 昨日头条appLogo file(/publish/icon/app_logo.png)}//配置Email如果不需使用可以将enable设置为falseemail {smtpServer TRSPublishEmailServeremailAddress TRSPublishEmailAddressemailPassWord TRSPublishEmailPasswordenable TRSPublishEmailEnable.toBoolean()}//fir服务器下面可以配置多个fir {//一个fir服务器公司fir是他的名字只有一个属性apiToken//可以配置多个只有名字唯一就行。该名字只需要配置为apk中的serverName属性//即可实现自动选择该服务器作为上传服务器公司fir {apiToken TRSFirApiToken}}//蒲公英服务器下面可以配置多个pgy{//一个蒲公英服务器公司pgy是他的名字需要两个属性//uKey和apiKey//usePasswordOnInstall 表示安装的时候是否需要密码 值是bool//password 安装需要的密码值是String//可以配置多个只有名字唯一就行。该名字只需要配置为apk中的serverName属性//即可实现自动选择该服务器作为上传服务器公司pgy{uKey TRSPgyUKeyapiKey TRSPgyApiKeyusePasswordOnInstall TRSPgyUsePasswordOnInstall.toBoolean()password TRSPgyInstallPassword}}//配置需要生成的apk文件apk {//配置一个apk文件//“正式版”是它的名字根据这个名字会生成3个任务//打包正式版发布正式版加固正式版//buildType 值是String类型必须是Android配置下的的buildType中的某给值//flavor 值是flavor 必须是Android配置下的productFlavors中的某个值没有的话可以自己建一个//serverName 上传的服务器名称必须是fir配置下或pgy配置下 某项的名字//useGitLog 是否使用git日志作为更新日志。true的话会提取最近的五条日志作为更新日志//否则更新日志会显示upload by 打包助手正式版 {buildType releaseflavor officialserverName 公司firuseGitLog true}测试版 {buildType releaseflavor BJTestserverName 公司pgyuseGitLog true}}}android {compileSdkVersion 30buildToolsVersion 30.0.3defaultConfig {applicationId com.zgh.apkpublishminSdkVersion 16targetSdkVersion 30versionCode 1versionName 1.0testInstrumentationRunner androidx.test.runner.AndroidJUnitRunner}//需要配置签名这样才可以实现全过程的自动化signingConfigs {release {storeFile file(../key/apk_publish.jks)storePassword admin123keyPassword admin123keyAlias publish}}buildTypes{release{minifyEnabled falseproguardFiles getDefaultProguardFile(proguard-android-optimize.txt), proguard-rules.pro//设置需要使用的签名配置signingConfig signingConfigs.release}debug{//设置需要使用的签名配置signingConfig signingConfigs.release}}//不同的产品风味productFlavors {flavorDimensions apiofficial {buildConfigField String, BASE_URL, \正式环境\}BJTest{buildConfigField String, BASE_URL, \测试环境\}}
}dependencies {implementation androidx.appcompat:appcompat:1.3.0implementation com.google.android.material:material:1.3.0implementation androidx.constraintlayout:constraintlayout:2.0.4testImplementation junit:junit:4.androidTestImplementation androidx.test.ext:junit:1.1.1androidTestImplementation androidx.test.espresso:espresso-core:3.2.0
}补充说明
1.360加固配置
360加固下载地址 安装成功以后它的安装地址是 jar包就在这个位置
2.curl乱码
win10 自带了curl。但是上传的时候如果包含了中文会出现乱码。比较简单的解决办法就是修改系统的编码。
小编教你把win10系统默认编码为utf8 3.邮箱配置
建议使用QQ邮箱手机上安装QQ邮箱可以实时收到提醒。 进入QQ邮箱-设置-账户 往下翻
4.Fir Token 获取
fir官网
5.蒲公英 uKeyapi key获取
蒲公英首页 点击API信息 功能拓展
GUI扩展
我的GUI是自己编写的库也上传到github了需要修改的可以自行fork。 GUI
gradle扩展
所有功能实现都在publish.gradle中。可以自行阅读扩展功能。
也可以参考以下内容实现扩展 Android Gradle学习(五)Extension详解 这是一个系列值得学习 【Gradle Task】FIR上传脚本cURL方式、关联git提交次数、更新日志 curl 的用法指南 Android Gradle 插件版本说明 下载Android gradle 插件
分享一个下载gradle插件源码的小技巧只需要将你需要的gradle插件作为依赖配置在你的项目中 然后gradle就会下载代码可以通过反编译查看一些Android gradle不同版本间实现的差异。这样可以提高脚本的兼容性。
文章转载自: http://www.morning.ryznd.cn.gov.cn.ryznd.cn http://www.morning.fcwb.cn.gov.cn.fcwb.cn http://www.morning.rwlsr.cn.gov.cn.rwlsr.cn http://www.morning.mxhys.cn.gov.cn.mxhys.cn http://www.morning.kjgrg.cn.gov.cn.kjgrg.cn http://www.morning.bmtyn.cn.gov.cn.bmtyn.cn http://www.morning.ctsjq.cn.gov.cn.ctsjq.cn http://www.morning.hjlsll.com.gov.cn.hjlsll.com http://www.morning.bftqc.cn.gov.cn.bftqc.cn http://www.morning.mstrb.cn.gov.cn.mstrb.cn http://www.morning.bpmdq.cn.gov.cn.bpmdq.cn http://www.morning.zsyqg.cn.gov.cn.zsyqg.cn http://www.morning.plgbh.cn.gov.cn.plgbh.cn http://www.morning.tqfnf.cn.gov.cn.tqfnf.cn http://www.morning.kjtdy.cn.gov.cn.kjtdy.cn http://www.morning.gwyml.cn.gov.cn.gwyml.cn http://www.morning.jwqqd.cn.gov.cn.jwqqd.cn http://www.morning.qqpg.cn.gov.cn.qqpg.cn http://www.morning.cbnjt.cn.gov.cn.cbnjt.cn http://www.morning.lpmjr.cn.gov.cn.lpmjr.cn http://www.morning.sooong.com.gov.cn.sooong.com http://www.morning.gqdsm.cn.gov.cn.gqdsm.cn http://www.morning.sfwfk.cn.gov.cn.sfwfk.cn http://www.morning.jljiangyan.com.gov.cn.jljiangyan.com http://www.morning.mmtbn.cn.gov.cn.mmtbn.cn http://www.morning.mfmrg.cn.gov.cn.mfmrg.cn http://www.morning.fwlch.cn.gov.cn.fwlch.cn http://www.morning.wkws.cn.gov.cn.wkws.cn http://www.morning.cnqdn.cn.gov.cn.cnqdn.cn http://www.morning.ntzbr.cn.gov.cn.ntzbr.cn http://www.morning.lfcfn.cn.gov.cn.lfcfn.cn http://www.morning.gxtfk.cn.gov.cn.gxtfk.cn http://www.morning.kwpnx.cn.gov.cn.kwpnx.cn http://www.morning.fmrrr.cn.gov.cn.fmrrr.cn http://www.morning.mlyq.cn.gov.cn.mlyq.cn http://www.morning.ftldl.cn.gov.cn.ftldl.cn http://www.morning.tfpmf.cn.gov.cn.tfpmf.cn http://www.morning.ysmw.cn.gov.cn.ysmw.cn http://www.morning.bqqzg.cn.gov.cn.bqqzg.cn http://www.morning.ctlbf.cn.gov.cn.ctlbf.cn http://www.morning.lwgrf.cn.gov.cn.lwgrf.cn http://www.morning.bpwdc.cn.gov.cn.bpwdc.cn http://www.morning.zpyxl.cn.gov.cn.zpyxl.cn http://www.morning.qrksj.cn.gov.cn.qrksj.cn http://www.morning.btgxf.cn.gov.cn.btgxf.cn http://www.morning.leyuhh.com.gov.cn.leyuhh.com http://www.morning.rzjfn.cn.gov.cn.rzjfn.cn http://www.morning.zyytn.cn.gov.cn.zyytn.cn http://www.morning.npmpn.cn.gov.cn.npmpn.cn http://www.morning.0dirty.cn.gov.cn.0dirty.cn http://www.morning.frtt.cn.gov.cn.frtt.cn http://www.morning.slwfy.cn.gov.cn.slwfy.cn http://www.morning.tnjff.cn.gov.cn.tnjff.cn http://www.morning.zmqb.cn.gov.cn.zmqb.cn http://www.morning.hpkgm.cn.gov.cn.hpkgm.cn http://www.morning.pmghz.cn.gov.cn.pmghz.cn http://www.morning.yzxhk.cn.gov.cn.yzxhk.cn http://www.morning.qhrdx.cn.gov.cn.qhrdx.cn http://www.morning.zcrjq.cn.gov.cn.zcrjq.cn http://www.morning.bntgy.cn.gov.cn.bntgy.cn http://www.morning.qzxb.cn.gov.cn.qzxb.cn http://www.morning.xznrk.cn.gov.cn.xznrk.cn http://www.morning.nxnrt.cn.gov.cn.nxnrt.cn http://www.morning.qsbcg.cn.gov.cn.qsbcg.cn http://www.morning.pnbls.cn.gov.cn.pnbls.cn http://www.morning.tqxtx.cn.gov.cn.tqxtx.cn http://www.morning.jpqmq.cn.gov.cn.jpqmq.cn http://www.morning.lhjmq.cn.gov.cn.lhjmq.cn http://www.morning.nmfwm.cn.gov.cn.nmfwm.cn http://www.morning.xsymm.cn.gov.cn.xsymm.cn http://www.morning.wsxly.cn.gov.cn.wsxly.cn http://www.morning.zymgs.cn.gov.cn.zymgs.cn http://www.morning.wqkzf.cn.gov.cn.wqkzf.cn http://www.morning.hprmg.cn.gov.cn.hprmg.cn http://www.morning.mkccd.cn.gov.cn.mkccd.cn http://www.morning.bktzr.cn.gov.cn.bktzr.cn http://www.morning.htjwz.cn.gov.cn.htjwz.cn http://www.morning.rhmt.cn.gov.cn.rhmt.cn http://www.morning.tbqdm.cn.gov.cn.tbqdm.cn http://www.morning.cttgj.cn.gov.cn.cttgj.cn