1. 程式人生 > >Android 加快編譯時間

Android 加快編譯時間

加速編譯時間的方法挺簡單,方法如下

1、在所有module的build.gradle中android{}內加入如下程式碼

android{
...
//-----加入的程式碼start------
   tasks.whenTaskAdded { task ->
        if (task.name.contains("lint")
                //如果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 } } //-----加入的程式碼end------ }

2、 若模擬器或真機已經安裝了debug的apk,需要先解除安裝,然後再編譯執行,沒安裝就點三角形run app編譯執行。
原本需要6s的加入之後效果
這裡寫圖片描述
據反饋別人專案大的幾十秒的可以降到幾秒。

2017/5/25記:
若加入上邊程式碼後編譯執行出現錯誤資訊類似於:java.lang.UnsatisfiedLinkError: Couldn’t load hyphenate from loader dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/com.itculturalfestival.smartcampus-1.apk”],nativeLibraryDirectories=[/data/app-lib/com.itculturalfestival.smartcampus-1, /systemb]]]: findLibrary returned null
解決方法:去掉上面新增的加速編譯的程式碼,否則依賴包編譯會出錯 ,然後卸掉app後重新編譯執行,想要加快編譯時間可以繼續新增上面的程式碼。