![](/img/trans.png)
[英]Run task after packageApplication when using the android gradle plugin
[英]Got OutOfMemoryError after update Android Gradle Plugin to 3.6.1 from 3.5.3 when run unit test
從 3.5.3 更新到使用 Android Gradle 插件 3.6.1 后,我們的單元測試不斷隨機獲取 OutOfMemoryError 異常。
這些是崩潰日志:
Caused by: com.android.ide.common.workers.WorkerExecutorException: 1 exception was raised by workers: java.lang.OutOfMemoryError at com.android.ide.common.workers.ExecutorServiceAdapter.await(ExecutorServiceAdapter.kt:108) at com.android.ide.common.workers.ExecutorServiceAdapter.close(ExecutorServiceAdapter.kt:118) at kotlin.io.CloseableKt.closeFinally(Closeable.kt:53) at com.android.build.gradle.internal.res.GenerateLibraryRFileTask.doFullTaskAction(GenerateLibraryRFileTask.kt:120) at com.android.build.gradle.internal.tasks.IncrementalTask.handleIncrementalInputs(IncrementalTask.kt:107) at com.android.build.gradle.internal.tasks.IncrementalTask.access$handleIncrementalInputs(IncrementalTask.kt:64) at com.android.build.gradle.internal.tasks.IncrementalTask$taskAction$$inlined$recordTaskAction$1.invoke(AndroidVariantTask.kt:73)
作為我的調查。 AGP 3.6.x 改變了生成 R 文件的方式。 崩潰發生在這行代碼中: https : //android.googlesource.com/platform/tools/base/+/studio-master-dev/build-system/gradle-core/src/main/java/com/ android/build/gradle/internal/res/GenerateLibraryRFileTask.kt#120
到目前為止,我嘗試過的是:
嘗試使用一些 gradle 標志。 但到目前為止,還沒有運氣。
使用一些 testOptions 標志( https://docs.gradle.org/current/dsl/org.gradle.api.tasks.testing.Test.html ),例如 forkEvery、maxParallelForks。 但我不確定它會有所幫助,因為失敗發生在構建短語上。
我正在嘗試獲取 heapdump,但這有點困難,因為 OOM 是隨機發生的。
我的設置:
如果你們中的任何人建議任何解決方案或方向進行調查,我們將不勝感激
僅供參考。 我也必須在谷歌這里發一個問題https://issuetracker.google.com/u/1/issues/151460310
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.