You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

回退Gradle至3.0.1后生成签名APK报错:Expected a name but was STRING

解决Gradle回退到3.0.1后生成签名APK的JSON格式错误

这个Expected a name but was STRING at line 1 column 99 path $[0].apkInfo.versionName的错误我帮不少开发者排查过,本质是回退Gradle插件版本后,高版本留下的缓存或配置文件格式和3.0.1不兼容,导致JSON解析失败。下面是一步步的解决方案:

1. 彻底清理残留缓存文件

Gradle回退版本后,旧缓存里还留着3.1.1的配置信息,这是最常见的诱因:

  • 点击Android Studio工具栏的Build → Clean Project
  • 接着点击Build → Rebuild Project
  • 手动删除项目根目录的.gradle文件夹,以及app模块下的build文件夹,彻底清干净旧缓存

2. 检查签名配置的格式正确性

打开app/build.gradle,确认signingConfigs的写法是3.0.1支持的标准格式,避免使用高版本的简化写法。比如标准写法示例:

signingConfigs {
    release {
        storeFile file("your-keystore-path.jks")
        storePassword "your-store-password"
        keyAlias "your-key-alias"
        keyPassword "your-key-password"
    }
}

如果是从gradle.properties引用变量,要确保变量定义和引用方式无错误:
在gradle.properties中定义:

RELEASE_STORE_FILE=my-keystore.jks
RELEASE_STORE_PWD=123456
RELEASE_KEY_ALIAS=my-key
RELEASE_KEY_PWD=123456

然后在build.gradle中正确引用:

signingConfigs {
    release {
        storeFile file(RELEASE_STORE_FILE)
        storePassword RELEASE_STORE_PWD
        keyAlias RELEASE_KEY_ALIAS
        keyPassword RELEASE_KEY_PWD
    }
}

注意不要添加多余的引号,3.0.1版本对变量引用的格式要求相对严格。

3. 重新同步Gradle配置

回退版本后一定要点击工具栏的Sync Project with Gradle Files按钮,确保所有配置都同步到3.0.1版本的规则中。如果同步时弹出错误,优先解决这些基础问题再尝试生成签名APK。

4. 重新执行签名APK生成流程

如果上述步骤都无效,建议放弃之前的缓存配置,重新走一遍生成流程:

  • 点击Build → Generate Signed Bundle/APK
  • 重新选择密钥库文件,一步步输入密码和别名,确保每一步信息准确,不要复用之前的缓存配置

内容的提问来源于stack exchange,提问作者user9562014

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:24:34