我有一个具有以下结构的Android项目 -
主项目有4个模块依赖 - 每个模块反过来都有一些从maven repo获得的aar依赖。
该项目已启用multi-dex。
现在,每当我制作一些甚至单行java文件更改应用程序大约需要1:25分钟来构建apk。 (最终的apk大约是29MB(只是为了对项目大小有所了解))。
我已启用加速构建时间所需的所有gradle属性。 我在主根gradle.properties文件中指定了以下属性
org.gradle.parallel=true
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError
我在应用构建时看到很多“UP-TO-DATE”消息
:myApp:prepareComAndroidSupportMultidex101Library UP-TO-DATE
:myApp:prepareComAndroidSupportRecyclerviewV72220Library UP-TO-DATE
:myApp:prepareComAndroidSupportSupportV132211Library UP-TO-DATE
:myApp:prepareComAndroidSupportSupportV42221Library UP-TO-DATE
:myApp:prepareComGetbaseFloatingactionbutton190Library UP-TO-DATE
:myApp:prepareComGithubFengdaiAlertdialogproCore023Library UP-TO-DATE
:myApp:prepareComGithubFengdaiAlertdialogproThemeMaterial023Library UP-TO-DATE
:myApp:prepareComJpardogoMaterialtabstripLibrary110Library UP-TO-DATE
:myApp:prepareComSothreeSlidinguppanelLibrary300Library UP-TO-DATE
:myApp:prepareComTimehopStickyheadersrecyclerviewLibrary041Library UP-TO-DATE
:myApp:prepareJpCoCyberagentAndroidGpuimageGpuimageLibrary123Library UP-TO-DATE
:myApp:prepareOrgRajawali3dRajawali10255SNAPSHOTLibrary UP-TO-DATE
:myApp:prepareUkCoChrisjenxCalligraphy210Library UP-TO-DATE
:myApp:prepareDevelopmentDebugDependencies
:myApp:compileDevelopmentDebugAidl UP-TO-DATE
:myApp:compileDevelopmentDebugRenderscript UP-TO-DATE
:myApp:mergeDevelopmentDebugAssets UP-TO-DATE
:myApp:generateDevelopmentDebugResources UP-TO-DATE
:myApp:mergeDevelopmentDebugResources
:myApp:processDevelopmentDebugManifest UP-TO-DATE
:myApp:processDevelopmentDebugResources
:myApp:generateDevelopmentDebugSources
:myApp:compileDevelopmentDebugJavaWithJavac
:myApp:compileDevelopmentDebugSources
:myApp:collectDevelopmentDebugMultiDexComponents UP-TO-DATE
:myApp:packageAllDevelopmentDebugClassesForMultiDex
:myApp:shrinkDevelopmentDebugMultiDexComponents
:myApp:createDevelopmentDebugMainDexClassList
:myApp:dexDevelopmentDebug
最后一步需要一些时间 - myApp:dexDevelopmentDebug 我在build.gradle中指定了以下dexOptions
dexOptions {
incremental true
preDexLibraries = false
}
有没有什么技术可以加快构建时间?还是我能达到的最大值?
任何输入都受到高度赞赏,因为它确实会影响测试应用程序的微小变化的效率。
谢谢,