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

Android Studio生成签名APK时报错:Expected a name but was STRING

解决签名APK生成时的Expected a name but was STRING错误

这个错误本质是APK签名流程中解析版本信息(versionName)时遇到了格式或语法问题,结合你提供的配置,我们可以从以下几个方面排查修复:

1. 先修复项目级build.gradle的语法错误

你提供的allprojects块里的Maven仓库配置存在语法不完整的问题——缺少闭合的大括号,同时建议补充常用的仓库源避免依赖拉取失败,修正后的代码如下:

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        maven { url "https://oss.sonatype.org/content/repos..." }
        google()
        jcenter()
    }
}

2. 检查模块级(app/build.gradle)的versionName与签名配置

错误提示明确指向$[0].apkInfo.versionName,说明解析版本名称时出现异常,常见原因和修复方式:

  • 确保versionName是合法字符串:versionName必须用双引号包裹,不能是纯数字或格式错误的内容,示例正确配置:
    android {
        defaultConfig {
            versionName "1.0.0" // 这里必须是双引号包裹的合法版本字符串
            // 其他默认配置...
        }
    }
    
  • 检查签名配置的语法完整性:如果你的release签名配置存在引号未闭合、路径错误等问题,也可能触发这类解析错误,确保签名配置类似这样:
    android {
        signingConfigs {
            release {
                storeFile file("your-release-keystore.jks")
                storePassword "your-store-password"
                keyAlias "your-key-alias"
                keyPassword "your-key-password"
            }
        }
        buildTypes {
            release {
                signingConfig signingConfigs.release
                // 其他release构建配置...
            }
        }
    }
    

3. 清理并重新构建项目

完成上述修改后,执行以下操作确保配置生效:

  • 点击Android Studio顶部菜单栏的Build > Clean Project
  • 接着执行Build > Rebuild Project
  • 最后再尝试生成签名APK

如果问题仍然存在,考虑升级你的Gradle插件版本(当前3.0.1版本较老旧),但升级前请确认项目依赖与新版本的兼容性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:15:29