原文by Norman Peitek 翻譯by Dexter0218
加速你的構(gòu)建
我們都希望有更快的構(gòu)建速度。特別是在復(fù)雜的項目里,可能需要花費相當(dāng)長一段時間直到.apk被編譯出。但你不可能總是花錢去買一個更貴的機器。這里提供了2個小建議去讓你的構(gòu)建更快。
激活你的Gradle守護進程
如果你正作為一個android開發(fā)者,你只要激活你的Gradle后臺進程坐桩。如果你還沒聽說過,讓我們引用官方文檔的來解釋一下:
The Gradle Daemon is a background process that does the heavy lifting of running builds, then stays alive between builds waiting for the next build. This allows data and code that is likely to be required in the next build to be kept in memory, ready to go. This dramatically improves the performance of subsequent builds. Enabling the Gradle Daemon is an extremely cheap way to decrease build times.
Gradle守護進程封锉,就是一個后臺線程處理運行構(gòu)建的重任绵跷,構(gòu)建之間保持活著等待下一個構(gòu)建膘螟。它允許可能被用在下一次構(gòu)建中的數(shù)據(jù)和代碼保留在內(nèi)存里,隨時準(zhǔn)備構(gòu)建碾局。顯著提高后續(xù)構(gòu)建的性能荆残。激活Gradle守護進程是一個極其廉價減少構(gòu)建時間的方式。
如果你還沒有被說服净当,那直接看看配置介紹内斯。不會花費你超過5分鐘,在你完成一天的工作后像啼,會發(fā)現(xiàn)俘闯,這個時間會還回來的。
更新你的Gradle版本
另一個超級快的方法是更新使用的Gradle版本到2.4(或更高)忽冻。它為我們減少了相當(dāng)多的構(gòu)建時間真朗。在Android Studio里檢查一下你的構(gòu)建版本:
-
File
>Project Structure
>Project
>Gradle Version
.
如果這還不能足夠加速你的構(gòu)建。那就去這篇博客看看更多高級的方法僧诚。
Gradle自動資源收縮
大多數(shù)Android開發(fā)者都知道混淆器(ProGuard)遮婶,代碼混淆工具。它可以去除掉未用到的代碼和方法振诬,讓你的apk更小蹭睡。事實上衍菱,相當(dāng)長一段時間前Google增加了一個新的方法進一步降低了app的大小赶么,通過去除更多未使用的資源:資源收縮(resource shrinking)。
你所要做的是在你的build.gradle
中激活它:
android {
...
buildTypes {
release {
minifyEnabled true
shrinkResources true
}
}
...
}
看這里了解更多細節(jié)脊串。
自動添加Git版本到你的項目里
通常定位一個bug或crash報告到一個特定的版本是非常有用的辫呻。版本代碼雖然有用,但不是非常準(zhǔn)確琼锋。另一方面放闺,git版本可以非常準(zhǔn)確地區(qū)別問題版本。手動添加git版本是非常痛苦的缕坎,所以讓我們一起來看一下這個小的build.gradle
增強腳本:
android {
buildTypes {
debug {
resValue "string", "git_revision", "\"${gitRevision()}\""
}
release {
resValue "string", "git_revision", "\"${gitRevision()}\""
}
}
}
def gitRevision() {
def cmd = "git rev-parse --short HEAD"
return cmd.execute().text.trim()
}
添加‘git_revision’字符串資源到你的工程中怖侦。它會自動地更新每個構(gòu)建,在你的應(yīng)用程序里谜叹,你很容易通過getResources().getString( R.string.git_revision)
獲取到匾寝;您可以使用這行代碼將它添加到您的bug報告工具,它將使你的缺陷修復(fù)過程更加容易。
感謝coderwall.com 和 stackoverflow的這些建議荷腊。