如何在Android项目中添加-Dkotlinx.coroutines.debug JVM选项
Android Studio 配置
-Dkotlinx.coroutines.debug JVM选项步骤 你可以根据使用场景选择以下任意一种配置方式:
1. 临时生效配置(仅当前单次运行/调试会话生效)
- 点击顶部运行配置下拉栏,选择最下方的「Edit Configurations...」选项
- 在左侧列表选中你要运行的目标配置(默认一般是
app模块下的Android App配置) - 如果配置页没看到「VM options」输入框,点击「Modify options」下拉菜单,勾选「Add VM options」调出输入项
- 在「VM options」输入框中直接填入
-Dkotlinx.coroutines.debug - 点击「Apply」「OK」保存后再运行App即可生效
2. 永久生效配置(配置一次后所有构建/运行自动生效,无需重复修改运行配置)
2.1 本地所有构建默认生效
- 打开项目根目录下的
gradle.properties文件 - 在文件内添加配置项:
# 如果org.gradle.jvmargs已有其他配置,直接在现有参数后空格拼接-Dkotlinx.coroutines.debug即可,不要覆盖原有内容 org.gradle.jvmargs=-Dkotlinx.coroutines.debug
2.2 仅Debug构建生效,不影响Release正式包
- 打开App模块下的构建脚本(Groovy语法对应
build.gradle,Kotlin DSL对应build.gradle.kts) - 在
android配置块的buildTypes节点下给debug变体添加参数:
Groovy 语法示例:
android { // 保留你项目里已有的其他配置 buildTypes { debug { // 保留你项目里已有的其他debug配置 javaCompileOptions { annotationProcessorOptions { arguments += ["coroutines.debug": "true"] } } // 本地单元测试也启用协程调试 testOptions { unitTests.all { jvmArgs '-Dkotlinx.coroutines.debug' } } } } }
Kotlin DSL 语法示例:
android { // 保留你项目里已有的其他配置 buildTypes { getByName("debug") { // 保留你项目里已有的其他debug配置 javaCompileOptions { annotationProcessorOptions { arguments["coroutines.debug"] = "true" } } // 本地单元测试也启用协程调试 testOptions { unitTests.all { jvmArgs("-Dkotlinx.coroutines.debug") } } } } }
配置生效后,协程相关的运行日志会自动携带协程名称、所属调度器信息,无需手动给协程命名就能快速定位对应协程的执行逻辑。
内容的提问来源于stack exchange,提问作者Sergio
相关产品推荐
相关产品推荐

