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

使用Support Gradle Plugin 28.0.0-alpha1后Release构建损坏及版本信息丢失如何解决?

解决Android Gradle Plugin 28.0.0-alpha1 Release构建丢失Version Name/Code的问题

这个问题我之前测试alpha版本时也碰到过,毕竟alpha版本属于预览性质,存在一些兼容性bug是正常的。下面给你几个可行的解决思路:

1. 暂时降级回稳定版本(最稳妥方案)

既然27.1.1版本能正常工作,如果你不是必须依赖28.0.0-alpha1的新特性,直接把插件版本改回稳定版是最快解决问题的方式。在项目根目录的build.gradle里修改:

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:27.1.1'
        // 其他依赖配置
    }
}

修改后执行./gradlew clean,再重新构建Release包即可。

2. 显式确保版本信息在Release构建中正确传递

alpha版本的插件可能对默认配置的处理逻辑有变化,你可以尝试在app/build.gradle的Release buildType里显式指定版本信息,避免被意外清空:

android {
    defaultConfig {
        versionCode 你的版本号
        versionName "你的版本名称"
    }

    buildTypes {
        release {
            // 显式复用defaultConfig中的版本信息,覆盖插件可能的异常行为
            versionCode defaultConfig.versionCode
            versionName defaultConfig.versionName

            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            // 其他Release构建配置
        }
    }
}

3. 清除构建缓存后重新构建

缓存异常有时会导致插件读取配置出错,执行以下命令彻底清除缓存后再尝试构建:

./gradlew clean
./gradlew assembleRelease

4. 检查自定义版本号生成逻辑(如果有)

如果你的项目用了自定义任务或第三方插件动态生成versionName/versionCode(比如基于Git标签自动生成),28.0.0-alpha1的插件可能和这些逻辑兼容性不佳。你需要确保这类脚本在processReleaseManifest任务之前执行,保证AndroidManifest里的android:versionCode和android:versionName能被正确替换。

另外,这个问题属于AGP 28.0.0-alpha1的已知bug,后续的beta或稳定版本应该会修复。如果不是必须使用该alpha版本,优先选择稳定版能避免很多不必要的麻烦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:24:21