Windows從零搭建Jenkins+Gradle+Android自動(dòng)化打包

??調(diào)研需求:

以前都是通過IDE(Eclipse or Android Studio)手動(dòng)生成apk通過QQ或者郵件發(fā)送給測(cè)試人員進(jìn)行測(cè)試塞俱,不僅影響平常開發(fā)的效率爽柒,也給開發(fā)帶來了很多不必要的痛苦和麻煩肤视,現(xiàn)在要求對(duì)項(xiàng)目進(jìn)行持續(xù)集成斋攀,也就是說通過某種方式定時(shí)(比如每晚凌晨三點(diǎn))自動(dòng)將git庫(kù)中最新的代碼pull下來編譯打包捐下,測(cè)試人員每天早上上班都能拿到最新的代碼打包的Apk

Jenkins介紹:

Jenkins是一個(gè)開源軟件項(xiàng)目到腥,它前身是Hudson朵逝,是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作乡范,旨在提供一個(gè)開放易用的軟件平臺(tái)配名,使軟件的持續(xù)集成變成可能。

主要流程:

????????Windows環(huán)境配制?

????????Jenkins, 安裝篓足,啟動(dòng)段誊。

????????配置系統(tǒng)配置

????????創(chuàng)建任務(wù)

????????構(gòu)建任務(wù)闰蚕,后續(xù)上傳fir栈拖、發(fā)企業(yè)微信通知

????????遇到的問題

Windows環(huán)境配置:

????????Android SDK? ? 用AndroidStudio使用的SDK路徑?

????????Gradle? ? ?用AndroidStudios使用的gradle路徑

????????JDK (點(diǎn)擊跳轉(zhuǎn)下載地址)

????????Git (點(diǎn)擊跳轉(zhuǎn)下載地址)

????????配置環(huán)境變量:

????????JAVA_HOME? ? ? ? ? ? ? ?C:\Program Files\Java\jdk-11.0.6

????????ANDROID_HOME? ? ? ?C:\Users\LX\AppData\Local\Android\Sdk

????????GRADLE_HOME? ? ? ? ?C:\Users\LX\.gradle\wrapper\dists\gradle-5.6.4-all\ankdp27end7byghfw1q2sw75f\gradle-5.6.4\bin

????????注意:JAVA_HOME配置到文件夾位置,GRADLE_HOME 配置到bin目錄

Jenkins的安裝與啟動(dòng)

????????Jenkins的下載(點(diǎn)擊跳轉(zhuǎn)下載地址)没陡,下載msi

????????安裝? ?雙擊msi進(jìn)行傻瓜式安裝涩哟,安裝過程需要設(shè)置端口號(hào);選擇jdk版本盼玄,目前Jenkins支持java1.8-11

????????啟動(dòng)? 安裝完成后會(huì)自動(dòng)打開http://localhost:5555/

????????啟動(dòng)完成后會(huì)提示輸入一個(gè)密碼贴彼,上面有路徑,我們直接進(jìn)去打開拷貝就可以了埃儿。

輸入密碼

然后會(huì)出現(xiàn)安裝選擇頁面器仗,我們選擇安裝推薦的插件就可以。

安裝插件

然后就會(huì)出現(xiàn)以下界面童番,我們等待安裝就可以了精钮,這個(gè)安裝過程會(huì)灰常慢。 我們也可以看到他會(huì)安裝gradle剃斧、git等插件轨香。

插件安裝

然后安裝完成后設(shè)置用戶名稱和密碼即可,到此Jenkins就算安裝完成了幼东。

Jenkins配置系統(tǒng)配置

點(diǎn)擊系統(tǒng)管理(Manage Jenkins)->系統(tǒng)設(shè)置配置(Global Tool Configuration)? -> Jdk臂容、Android Sdk、Gradle根蟹、Android Ndk環(huán)境變量脓杉,至此Jenkins系統(tǒng)配置就完成了,接下來讓我們來創(chuàng)建一個(gè)項(xiàng)目吧<虼G蛏ⅰ!

?

配置系統(tǒng)配置

創(chuàng)建任務(wù)

????新建item

新建item

構(gòu)建任務(wù)

????General

構(gòu)建任務(wù)-General

????源碼管理

構(gòu)建任務(wù)-源碼管理

? ? ?構(gòu)建-增加構(gòu)建步驟(筆者只用過以下兩種方式)

????????????1买决、Invoke Gradle Script(創(chuàng)建gradle腳本直接進(jìn)行打包)

? ? ? ?????????????第一種:直接使用之前配置的gradle版本沛婴,tasks里直接添加task命令:clean? ????????????????????assembleDebug

Invoke Gradle Script

? ? ? ?????????????第二種:使用項(xiàng)目自帶的gradle版本

Invoke Gradle Script

????????????2吼畏、Execute Window batch window(直接執(zhí)行命令行)

? ? ? ????????????首先cd到項(xiàng)目的根目錄,然后執(zhí)行? gradle assembleDebug 進(jìn)行打包嘁灯,筆者這里寫? ? ? ? ? ? ? ? ? ? 的有參數(shù)的泻蚊,動(dòng)態(tài)進(jìn)行打debug或者release包

? ? ? ? ? ? ? ? ? 這里筆者還添加了? -g C:\gradle-cache,是為了解決windows遇到的權(quán)限問題? ? ? ? ? ? ? ? ? ? ? ? ? ?(詳見遇到的問題)

Execute Window batch window

構(gòu)建后操作(發(fā)包到fir丑婿,然后企業(yè)微信機(jī)器人通知)

1性雄、發(fā)包到fir:需要在系統(tǒng)配置里添加 upload to fir.im插件

fir.im

需要fir.im網(wǎng)站的登錄token,其余的選項(xiàng)不做過多解釋羹奉,都可以不填

token的獲让胄(登錄fir.im)

?

獲取token

2、發(fā)送企業(yè)微信機(jī)器人通知

? ? ? 安裝Qy Wechat Notification插件

企業(yè)微信

?遇到的問題

報(bào)錯(cuò)信息:

C:\Windows\System32\config\systemprofile\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.0.2.aar\648d88cb55d42908b7f13e3cf39f35e4\res\color\abc_secondary_text_material_dark.xml: error: file not found.C:\Windows\System32\config\systemprofile\.gradle\caches\transforms-1\files-1.1\picture_library-v2.0.1.aar\f2ffe59924c8d15a99121bd8efdc1525\res\drawable\btn_left_true.xml: error: file not found.Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details:app:mergeGooglePlayDebugResourcesFAILEDFAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':app:mergeGooglePlayDebugResources'.> Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details* Try:Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

解決方案:

http://wangpeiyuan.cn/2020/04/02/Jenkins-compiles-Android-on-window-with-AAPT2-Dameon-startup-failed/

http://www.reibang.com/p/db585d7312d1

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末诀拭,一起剝皮案震驚了整個(gè)濱河市迁筛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌耕挨,老刑警劉巖细卧,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異筒占,居然都是意外死亡贪庙,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門翰苫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來止邮,“玉大人,你說我怎么就攤上這事奏窑〉寂” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵良哲,是天一觀的道長(zhǎng)盛卡。 經(jīng)常有香客問我,道長(zhǎng)筑凫,這世上最難降的妖魔是什么滑沧? 我笑而不...
    開封第一講書人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮巍实,結(jié)果婚禮上滓技,老公的妹妹穿的比我還像新娘。我一直安慰自己棚潦,他們只是感情好令漂,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般叠必。 火紅的嫁衣襯著肌膚如雪荚孵。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評(píng)論 1 285
  • 那天纬朝,我揣著相機(jī)與錄音收叶,去河邊找鬼。 笑死共苛,一個(gè)胖子當(dāng)著我的面吹牛判没,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播隅茎,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼澄峰,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了辟犀?” 一聲冷哼從身側(cè)響起俏竞,我...
    開封第一講書人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎踪蹬,沒想到半個(gè)月后胞此,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡跃捣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了夺蛇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疚漆。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖刁赦,靈堂內(nèi)的尸體忽然破棺而出娶聘,到底是詐尸還是另有隱情,我是刑警寧澤甚脉,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布丸升,位于F島的核電站,受9級(jí)特大地震影響牺氨,放射性物質(zhì)發(fā)生泄漏狡耻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一猴凹、第九天 我趴在偏房一處隱蔽的房頂上張望夷狰。 院中可真熱鬧,春花似錦郊霎、人聲如沸沼头。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽进倍。三九已至土至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間猾昆,已是汗流浹背毙籽。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留毡庆,地道東北人坑赡。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像么抗,于是被迫代替她去往敵國(guó)和親毅否。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345