Windows显示语言为阿拉伯语时Android Studio Debug构建失败
解决Windows下Android Gradle
:app:validateSigningDebug 日期解析异常问题 问题背景
构建Android项目时,Gradle任务:app:validateSigningDebug抛出Failed to create keystore异常,核心报错为:
Cause: invalid date string: Unparseable date: "bd
fafbabfiGMT+00:00"
已尝试将系统区域格式改为美式英语但无效,仅切换系统显示语言为美式英语可完成构建,但电脑为多人共用,需无需切换系统语言的解决方案。
可行解决方案
1. 为当前项目Gradle进程单独指定语言环境
在项目根目录的gradle.properties文件中添加以下配置,强制Gradle使用美式英语环境:
org.gradle.jvmargs=-Duser.language=en -Duser.country=US
如果只想针对Debug签名验证任务生效,可在app/build.gradle的android块下添加:
android { // 其他原有配置... tasks.withType(ValidateSigning) { jvmArgs '-Duser.language=en', '-Duser.country=US' } }
2. 配置全局Gradle默认语言(影响所有本地Gradle项目)
找到用户目录下的.gradle文件夹(通常路径为C:\Users\你的用户名\.gradle),创建或编辑gradle.properties文件,添加:
org.gradle.jvmargs=-Duser.language=en -Duser.country=US
3. 临时通过命令行指定环境构建
每次构建时在命令行附加JVM参数,Windows CMD下执行:
gradlew assembleDebug -Duser.language=en -Duser.country=US
PowerShell下执行:
./gradlew assembleDebug -Duser.language=en -Duser.country=US
原理说明
该问题源于Gradle处理签名密钥库时,依赖系统默认语言环境解析日期,当前系统语言的日期格式导致解析失败。通过为Gradle进程单独指定美式英语环境,可绕过系统全局语言设置,同时不影响其他用户的系统语言偏好。
内容的提问来源于stack exchange,提问作者Ammar
相关产品推荐
相关产品推荐

