聲明:本文也在我的微信公眾號 Android程序員(AndroidTrending) 發布。
原文鏈接:Android APK size + dexcount charts on Jenkins
原文作者:Marc Reichelt
譯文出自:湯濤的簡書
譯者:湯濤
狀態:完成
最近在 Android Weekly 上看到的一篇文章,感覺有些幫助,文章不長,就順手翻譯了一下。Jenkins 這個持續集成工具,我們一直在用,感覺不錯,用好它能幫助我們解決很多問題,極大提高團隊開發效率。
我們在 flinc 為持續集成投入了大量的精力。為了改善 APK size 與 dex 中的方法/字段數,首先必須測量它。當我在 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'
現在,如果編譯你的工程,這個插件將會在每次 build 時,輸出 dex 方法數與字段數。
以上已經非常有幫助了 :-)
如果你不用 Jenkins 的話,可以不用繼續往下看了。
接下來,讓我們看看 Plot 這個 Jenkins 插件。給 Jenkins 安裝 Plot 插件,并為你的 build 配置它。
注意根據你的工程調整 CSV 文件路徑,debug 與 release build 各有不同的文件名。如果準備就緒,在你的 build 任務里點擊 Plots(注意應該先跑 1~2 次 build 任務),應該可以看到一個漂亮的圖表。來看看我們現在有什么了?
現在讓我們來看看 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'。
讓我們來看看最終效果吧:
超贊!
特別提示:為了更輕松地創建 plots, 你可以簡單創建一個 free-style 類型的 Jenkins 任務,將指定的 .csv 文件復制到其 workspace, 并開始測試,分分鐘就可以搞定。
希望這篇文章會幫助你更容易地跟蹤各種優化的改進效果,包括:APK 瘦身,開啟混淆,壓縮圖片或者使用矢量圖片等。祝你玩得愉快!