即使没有任何更改,Android多模块Gradle构建也会很慢
我有一个Android项目与多个模块的构建时间慢,即使我试图重建它,而不需要改变任何东西。
其结构类似于:
有更多的“父母”(和独立的父母兄弟姐妹)和“功能”模块,但设置是图片。
我的gradle.properties
文件如下:
org.gradle.jvmargs=-Xmx4096m -Xms2048m org.gradle.parallel=true org.gradle.daemon=true org.gradle.configureondemand=true
我正在使用Gradle版本3.5和插件版本2.4.0-alpha7。
该项目还使用multidex( javaMaxHeapSize "4g"
和jumboMode true
),数据绑定,kotlin和java以及几个注释处理器。
在构建时,我可以看到多个线程在大多数项目中并行运行不同的任务,除了最后的“app”模块(我认为是正常的)之外。
但是很多时候似乎花费在不同的:: compileJavaWithJavac任务上。 即使没有改变任何东西,构建需要约30秒的MacBook Pro I7与16 Gb RAM。
如果我在一个特征模块的一个方法内改变一行代码(甚至不改变方法的签名),构建时间将超过1:30分钟。
这是正常的时候吗? 有什么我可以进一步优化,以提高生成时间?
我也检查了一些其他的答案:
- 从这一个 ,设置
preDexLibraries = false
不起作用,我已经使用assembleDebug
- 这里建议
incremental = true
,不起作用,不推荐使用 - 禁用即时运行似乎有一点帮助,但不是很多
- 上面讨论的项目的构建风格已经设置
minSdkVersion 21
- 如何将MotionEvent停机时间与时钟进行比较,时间基准是多少?
- 与RxKotlin获取NetworkOnMainThreadException
- Dagger不会为androidTest生成组件
- 重复报警在特定时间准确着火无法正常工作
- 使用ColorStateList的Android FAB setBackgroundTintList不起作用
- Android Kotlin将文本字段的值传递给numberPicker
- 错误:错误:在类型为View的可为空的接收方上只允许使用safe(?。)或非null断言(!!)调用。
- 当选择的项目视图为空时,Kotlin在Android上崩溃
- firebase数据库检索kotlin中的数据,显示数据更改时出错