聲明:本文也在我的微信公眾號 Android程序員(AndroidTrending) 發(fā)布。
原文鏈接:Android APK size + dexcount charts on Jenkins
原文作者:Marc Reichelt
譯文出自:湯濤的簡書
譯者:湯濤
狀態(tài):完成
最近在 Android Weekly 上看到的一篇文章餐胀,感覺有些幫助,文章不長突梦,就順手翻譯了一下丹墨。Jenkins 這個持續(xù)集成工具,我們一直在用,感覺不錯变丧,用好它能幫助我們解決很多問題,極大提高團隊開發(fā)效率绢掰。
我們在 flinc 為持續(xù)集成投入了大量的精力痒蓬。為了改善 APK size 與 dex 中的方法/字段數(shù),首先必須測量它滴劲。當我在 Twitter 上提出這個問題時攻晒,有人告訴了我 dexcount-gradle-plugin,它使用起來非常容易:
top-level build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
// other dependencies go here...
classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.5.2'
}
}
app/build.gradle
android {
// your android block goes here
}
apply plugin: 'com.getkeepsafe.dexcount'
現(xiàn)在班挖,如果編譯你的工程鲁捏,這個插件將會在每次 build 時,輸出 dex 方法數(shù)與字段數(shù)萧芙。
以上已經(jīng)非常有幫助了 :-)
如果你不用 Jenkins 的話给梅,可以不用繼續(xù)往下看了假丧。
接下來,讓我們看看 Plot 這個 Jenkins 插件动羽。給 Jenkins 安裝 Plot 插件包帚,并為你的 build 配置它。
注意根據(jù)你的工程調(diào)整 CSV 文件路徑曹质,debug 與 release build 各有不同的文件名婴噩。如果準備就緒,在你的 build 任務(wù)里點擊 Plots(注意應該先跑 1~2 次 build 任務(wù))羽德,應該可以看到一個漂亮的圖表几莽。來看看我們現(xiàn)在有什么了?
現(xiàn)在讓我們來看看 APK size宅静,打開 Jenkins build 配置章蚣,在 build 的最后,加一小段腳本姨夹。
OUTFILE=flinc/app/build/outputs/apksize.csv
echo filesize > $OUTFILE
# yep, that's for Mac. Use "stat -c %s" instead on Linux
stat -f%z flinc/app/build/outputs/apk/app-release.apk >> $OUTFILE
同時添加新的 plot 變量:'Add Plot' 按鈕 ( 不是 'Add' 按鈕纤垂,這個也會被添加到同樣的圖表中)。注意我在 group 字段里磷账,填寫了與之前一樣的 'APK info'峭沦。
讓我們來看看最終效果吧:
超贊!
特別提示:為了更輕松地創(chuàng)建 plots, 你可以簡單創(chuàng)建一個 free-style 類型的 Jenkins 任務(wù)逃糟,將指定的 .csv 文件復制到其 workspace, 并開始測試吼鱼,分分鐘就可以搞定。
希望這篇文章會幫助你更容易地跟蹤各種優(yōu)化的改進效果绰咽,包括:APK 瘦身菇肃,開啟混淆,壓縮圖片或者使用矢量圖片等取募。祝你玩得愉快琐谤!