編譯時間從33.8秒降到4.5秒我只多做了一件事

android{
...
   tasks.whenTaskAdded { task ->
        if (task.name.contains("lint")
//如果instant run不生效,把clean這行干掉
                ||task.name.equals("clean")
             //如果項目中有用到aidl則不可以舍棄這個任務
                ||task.name.contains("Aidl")
//用不到測試的時候就可以先關閉
                ||task.name.contains("mockableAndroidJar")
                ||task.name.contains("UnitTest")
                ||task.name.contains("AndroidTest")
//用不到NDK和JNI的也關閉掉
                || task.name.contains("Ndk")
                || task.name.contains("Jni")
        ) {
                     task.enabled = false
        }
    }
}

有朋友推薦使用fastdex提升打包速度,實際上2.3版本的studio已經是這個原理了,不過用的是多apk模式,和多dex一個意思,也是把依賴分別發包成apk,項目代碼打包一個apk,以后修改了就run項目apk,可以看下studio的日志

參考文章

【譯】我每周在構建Gradle時是如何節約出5小時的

你想知道每個執行任務的運行時間

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容