Android 加快編譯時間
阿新 • • 發佈:2018-11-11
加速編譯時間的方法挺簡單,方法如下
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後重新編譯執行,想要加快編譯時間可以繼續新增上面的程式碼。