更新应用程序版本时找不到 Gradle DSL 方法

Posted

技术标签:

【中文标题】更新应用程序版本时找不到 Gradle DSL 方法【英文标题】:Gradle DSL method not found when updating application version 【发布时间】:2015-09-20 13:10:14 【问题描述】:

我想在 google play store 上更新我的应用,它不能接受相同版本的更新文件。

我是否从 build.gradle 文件更改了版本:

android 
compileSdkVersion 21
buildToolsVersion "21.1.2"

defaultConfig 
    applicationId "net.koorasudan.app"
    minSdkVersion 14
    targetSdkVersion 21
    versionCode 5.1
    versionName "5.1"

buildTypes 
    release 
           minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    

但是当我同步 gradle 时,它​​会显示这个错误:

错误:(23, 0) Gradle DSL 方法未找到:'versionCode()' 可能的原因:

项目“SmartView 3”可能正在使用不包含该方法的 Gradle 版本。 打开 Gradle 包装文件 构建文件可能缺少 Gradle 插件。 应用 Gradle 插件

如何解决这个问题?

【问题讨论】:

Gradle DSL method not found: 'runProguard' 的可能重复项 【参考方案1】:

versionCode 是一个整数。

您不能在 build.gradle 中使用 versionCode 5.1

您还必须在脚本的开头添加这一行。

apply plugin: 'com.android.application'

【讨论】:

也谢谢你,我已经在脚本的开头添加了这一行。 如果这解决了您的问题,请将答案标记为正确。它可以帮助其他用户。谢谢。 将 versionCode 更改为 Integer 对我有用【参考方案2】:

你是否在 gradle 文件的顶部添加了 android 插件?

apply plugin: 'android'

顺便说一句,版本代码需要是整数!从 5.1 切换到 5 就可以了!

【讨论】:

【参考方案3】:

FWIW:我在测试大版本代码(>= 10 位)时遇到了这个问题。 Gradle 错误?

【讨论】:

不,这不是错误。版本代码需要是一个整数,我将它从 5.1 切换到 5 并且它工作! 大于 2100000000 的版本代码将给出完全相同的错误消息。 docs mention that this is the highest version number allowed【参考方案4】:

你应该把你的版本代码作为整数。在您的应用发布后,您必须增加版本代码,以便 android 操作系统发现此版本是较新的版本。

但在版本名称中,您可以将任何您想要的内容放在字符串格式中。

希望有用

【讨论】:

【参考方案5】:

版本代码应为整数格式。

请使用以下代码:

<i>
android 
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig 
    applicationId "net.koorasudan.app"
    minSdkVersion 14
    targetSdkVersion 21
    versionCode 5
    versionName "5.1"

buildTypes 
    release 
           minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
    

</i>

【讨论】:

【参考方案6】:

只使用版本代码 2,不要使用版本代码 2.0 或任何浮点值

版本代码 2

    versionName "2.0"

像这样并重新构建应用程序,它将解决您的问题

【讨论】:

以上是关于更新应用程序版本时找不到 Gradle DSL 方法的主要内容,如果未能解决你的问题,请参考以下文章

找不到 Gradle DSL 方法

通过 gradle 配置 JOOQ Codegen 时找不到 H2 驱动程序

使用 Palantir Gradle 插件构建 Docker 容器时找不到 .jar 文件

找不到 Gradle DSL 方法:'flavorGroups()'

Gradle 在执行自定义任务时找不到模块的输出 jar

运行 Spring Boot 简单应用程序时找不到 Oracle 驱动程序