我們一般打包app上傳到蒲公英,然后再在工作群里下發(fā)通知 告訴測試我們的包打好了绪颖,并且更新了什么內(nèi)容秽荤。為了解決這一系列繁瑣工作,今天我們就將實現(xiàn)方式列到下面柠横。
本篇文章思路來源于 http://www.reibang.com/p/fbbfeca2464a
1窃款、在項目工程跟目錄,工程的build.gradle dependencies中添加:
classpath 'com.github.centerzx:UploadApkPlugin:v***'
目前版本為:
classpath 'com.github.centerzx:UploadApkPlugin:v1.0.7'
2牍氛、配置相關(guān)平臺參數(shù)
(1)上傳到蒲公英的相關(guān)配置參數(shù)
以下內(nèi)容配置到我們需要上傳apk到model中
eg:項目名稱->app->build.gradle文件中
android{ } 設(shè)置以下
(1)上傳至蒲公英平臺
uploadPgyParams {
apiKey = "替換為自己蒲公英賬戶的apiKey"
// apiKey = readProperties("PgyApiKey")
//暫時無用
appName = "TestGradlePlugin"
buildTypeName = "Release"
buildInstallType = 2
buildPassword = "zx"
uploadApkFilePath = "E:\\Desktop\\release\\app_name-debug.apk"
}
(2)上傳到釘釘?shù)南嚓P(guān)配置參數(shù)
buildDingParams {
accessToken = "替換為自己釘釘?shù)膖oken"
// accessToken = readProperties("DingAccessToken")
contentText = "最新開發(fā)測試包已經(jīng)上傳至蒲公英, 可以下載使用了"
contentTitle = "開發(fā)測試包"
//link類型(link)晨继、markdown類型(markdown)、整體跳轉(zhuǎn)ActionCard類型(actionCard)搬俊,默認link
msgtype = "actionCard"
//如果使用markdown類型可添加參數(shù)是否@全體群人員紊扬,默認false:isAtAll = true。其他類型不支持
isAtAll = true
//存在點擊時按鈕的文案(link類型無)
clickTxt = "點擊進行下載"
//是否單獨支持發(fā)送Git記錄數(shù)據(jù)唉擂,在配置了buildGitLogParams前提下有效珠月,默認為true。link字數(shù)問題楔敌,無法支持
isSupportGitLog = true
}
(3)發(fā)送消息到飛書的相關(guān)配置參數(shù)
buildFeiShuParams {
webHookHostUrl = "https://open.feishu.cn/open-apis/bot/v2/hook/************"
// webHookHostUrl = readProperties("FeiShuWebHookHostUrl")
contentTitle = "開發(fā)測試包"
contentText = "最新開發(fā)測試包已經(jīng)上傳至蒲公英, 可以下載使用了"
//富文本消息(post)、消息卡片(interactive)驻谆,默認post
msgtype = "post"
//是否@全體群人員卵凑,默認false:isAtAll = true
isAtAll = true
clickTxt = "點擊進行下載"
//是否單獨支持發(fā)送Git記錄數(shù)據(jù),在配置了buildGitLogParams前提下有效胜臊,默認為true
isSupportGitLog = true
}
(4)發(fā)送消息到企業(yè)微信群的相關(guān)配置參數(shù)
buildWeixinGroupParams {
// webHookHostUrl = readProperties("WeixinWebHookUrl")
webHookUrl = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=************"
//文本(text)勺卢、markdown(markdown)、圖文(news)象对,默認 markdown黑忱。由于字數(shù)限制,只有markdown支持攜帶Git記錄
msgtype = "markdown"
//如果使用文本類型(text)可添加參數(shù)是否@全體群人員,默認true:isAtAll = true甫煞。其他類型不支持
//isAtAll = true
contentTitle = "開發(fā)測試包"
contentText = "最新開發(fā)測試包已經(jīng)上傳至蒲公英, 可以下載使用了"
//是否單獨支持發(fā)送Git記錄數(shù)據(jù)菇曲,在配置了buildGitLogParams前提下有效,默認為true抚吠。只有markdown類型支持
isSupportGitLog = true
}
復(fù)制代碼
(5)發(fā)送消息時攜帶Git提交記錄相關(guān)配置參數(shù)(不配置則不攜帶)
buildGitLogParams {
//是否發(fā)送消息是攜帶Git記錄日志常潮,如果配置了這塊參數(shù)才會攜帶Git記錄,消息里面可以單獨設(shè)置是否攜帶Git日志數(shù)據(jù)
//獲取以當前時間為基準至N天之前的Git記錄(限定時間范圍)楷力,不填或小于等于0為全部記錄喊式,會結(jié)合數(shù)量進行獲取
gitLogHistoryDayTime = 1
//顯示Git記錄的最大數(shù)量,值范圍1~50萧朝,不填默認是10條岔留,最大數(shù)量50條
gitLogMaxCount = 10
}
//此處參數(shù)key為 'local.properties文件中配置的 蒲公英PgyApiKey,此處可以隨意命名
def readProperties(key) {
File file = rootProject.file('local.properties')
if (file.exists()) {
InputStream inputStream = file.newDataInputStream()
Properties properties = new Properties()
properties.load(inputStream)
if (properties.containsKey(key)){
return properties.getProperty(key)
}
}
}
此時在studio的右邊检柬,tasks里面會新增一個publishToThirdPlatform 命令組献联,里面會有3個task:ApkBuildUploadPlatformDebug、ApkBuildUploadPlatformRelease厕吉、OnlyUploadApkToPlatform酱固,其中OnlyUploadApkToPlatform為直接上傳APK操作,配置uploadApkFilePath路徑后有效头朱。gradlew或者點擊運行組里面的task命令运悲,則可直接進行編譯、打包项钮、傳送班眯、發(fā)消息等一些列操作。