本文Android自動化打包采用jenkins+gradle+upload to pyger的方式來實現,job執行完后只需要打開鏈接掃描二維碼即可下載apk。
一、環境准備
1.下載Android SDK(最好下載開發工具Android Studio)
2.安裝jenkins
二、配置jenkins變量
配置Android自動打包之前需要下載兩個插件,gradle和upload to pyger。
1.安裝gradle插件:系統管理->管理插件
2.安裝upload_to_pyger插件:系統管理->管理插件
3.配置gradle插件,gradle版本根據需要選擇,點自動安裝:系統管理->全局工具配置
4.設置環境變量:android-sdk 和 java 的環境變量。(1)鍵:ANDROID_HOME 值:D:\Program Files (x86)\Android\android-sdk(上文下載的SDK)。(2)鍵:JAVA_HOME 值:D:\Program Files\Java\jdk1.8.0_181
三、配置jenkins job
1.新建一個job,選擇“構建一個自由風格的軟件項目”
2.源碼管理配置git地址信息。
3.構建選擇“invoke Gradle script”
4.選擇Gradle所需的版本號
# 清除app目錄下.apk文件 app:clean # 打包Release版本的包 app:assembleRelease
# gradle常用命令 gradle clean # 清除/app目錄下的build文件夾 gradle build # 檢查依賴並編譯打包,Debug和Release都打出來 gradle assembleDebug # 編譯並打Debug包 gradle assembleRelease # 編譯並打Release的包 gradle installRelease # Release模式打包並安裝 gradle uninstallRelease # 卸載Release模式包
5.繼續添加構建步驟:
6.Upload to pgyer
這里參考GitHub上的參數定義:
需要填寫的字段 | 字段的解釋 |
---|---|
pgyer uKey | (APIV1必填,APIV2無此參數) 用戶Key,用來標識當前用戶的身份,對於同一個蒲公英的注冊用戶來說,這個值在固定的。 點擊獲取_ukey |
pgyer api_key | (必填) API Key,用來識別API調用者的身份, 如不特別說明,每個接口中都需要含有此參數。 對於同一個蒲公英的注冊用戶來說,這個值在固定的。 點擊獲取_api_key |
scandir | (必填) 需要上傳的apk/ipa文件所在的文件夾或者父文件夾,當前默認路徑是 ${WORKSPACE} ,它代表了當前項目的絕對路徑。這個功能的實現使用了ant框架的DirectoryScanner類,點擊查看DirectoryScanner類, 這個字段就是DirectoryScanner類中的basedir方法的參數點擊查看basedir方法 |
file wildcard | (必填) 需要上傳的apk/ipa文件的名字,支持通配符,就像這樣: **/Test?/*.apk, 這個功能的實現使用了ant框架的DirectoryScanner類,點擊查看DirectoryScanner類, 這個字段就是DirectoryScanner類中的includes方法的參數,點擊查看includes方法 |
installType | (選填) 應用安裝方式,值為(1,2,3)。1:公開,2:密碼安裝,3:邀請安裝。 默認為1公開 |
password | (選填) 設置App安裝密碼,如果不想設置密碼,請傳空字符串,或不傳。 |
updateDescription | (選填) 版本更新描述,請傳空字符串,或不傳。 |
qrcodePath | (選填) 如果你需要下載蒲公英返回的二維碼,那么這里填寫二維碼的存儲路徑,如果你不需要下載,那么你不需要在這里填寫任何內容。 |
envVarsPath | (選填) 如果你想存儲蒲公英返回的上傳信息,那么這里填寫保存信息的文件路徑,如果你不需要保存,那么你不需要在這里填寫任何內容。 |
GitHub鏈接:https://github.com/jenkinsci/upload-pgyer-plugin/blob/master/README_cn.md
最后我的配置如下:
上傳完成后在蒲公英平台找到下載鏈接,以后每次構建后只需要打開鏈接就能下載apk。
7.構建成功
打開下載鏈接,可以看到apk在2分鍾前上傳了,掃描二維碼即可下載APP。
四、總結
在配置Android APP自動化打包時候踩過很多坑,SDK里有些build tool和api沒有下全,所以我建議下載AS,遇到問題自我分析和調試。