【问题标题】:How to change Android version and code version number?如何更改Android版本和代码版本号?
【发布时间】:2014-04-12 01:12:39
【问题描述】:

如何更改Android版本和代码版本号Android Studio?我想更改 Google Play 上的 apk 文件(应用程序),我需要更改 Android 版本和代码版本号。我在 Android Studio 的 AndroidManifest.xml 文件中尝试了这个:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bestsoftcorporation.circle.app"
android:versionCode="101"
android:versionName="2.0">

但它不起作用。当我尝试在 Google Play 上发布它时,它显示我必须更改 Android 版本名称和代码。

【问题讨论】:

    标签: android google-play android-manifest


    【解决方案1】:

    进入 build.gradle 并在 defaultConfig 元素中设置版本代码和名称

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    

    【讨论】:

    • 有没有办法在 Java 中访问版本名称?
    • 如果只更新了 java 文件,我们是否也必须更改 xml 版本?-> ?xml version="1.0" encoding="utf-8"?>
    • 请务必在更改版本后清理项目,否则它可能不会显示在 APK 中。
    • 它也解决了我的问题。然而,我真的很讨厌,讨厌,hhhaaate 当你有数百万个不同的地方可以改变一个变量,而其中只有一个是正确的,就像在这种情况下一样!!!
    • 很烦人,既然这个设置只是针对单个App的,为什么不保留在APP的manifest.xml中呢?谷歌无缘无故地这样做......
    【解决方案2】:

    在 Android Studio 中设置版本的最简单方法:

    1.按 SHIFT+CTRL+ALT+S (或文件->项目结构-> 应用程序)

    Android Studio

    1. 选择标签“口味”
    2. 最后两个字段是“版本代码”和“版本名称”

    Android Studio >= 3.4:

    1. 在左侧面板中选择“模块”。
    2. 在中间面板中选择“应用”。
    3. 在右侧面板中选择“默认配置”选项卡。
    4. 向下滚动以查看和编辑“版本代码”和“版本名称”字段。

    【讨论】:

    • 仅供参考:文件 -> 项目结构 -> 选择标签“口味”谢谢@Ivo Stoyanov
    • 我遇到了非常奇怪的问题。我从 build.gradle 文件中更改了 versionName,但它没有在 BuildConfig 文件中更新,所以当我生成 apk 时,它显示错误的 versionName。然后我从风味中编辑 versionName,然后它开始工作。谢谢!
    • 注意:这不再适用于 Android Studio 3.4
    【解决方案3】:

    您可以像这样在模块的build.gradle 文件中定义versionNameversionCode

    android {
        compileSdkVersion 19
        buildToolsVersion "19.0.1"
    
        defaultConfig {
            minSdkVersion 8
            targetSdkVersion 19
            versionCode 1
            versionName "1.0"
        }
        .... //Other Configuration
    }
    

    【讨论】:

      【解决方案4】:

      在 android studio 中按 Ctrl+Alt+Shift+S 或转到文件 > 项目结构。 ..

      在默认配置更改版本代码、名称等上选择左侧的应用程序并选择右侧的 Flavours 选项卡...

      【讨论】:

      • 生成我的签名 apk 后找不到应用选项
      【解决方案5】:

      您可以通过使用 Gradle 的 Advanced Build Version Plugin明智地管理应用程序版本

      你只需要将插件包含在你build.gradle:

      buildscript {
        repositories {
            jcenter()
        }
      
        dependencies {
            classpath 'org.moallemi.gradle.advanced-build-version:gradle-plugin:1.5.0'
        }
      }
      
      apply plugin: 'org.moallemi.advanced-build-version'
      

      然后您可以使用版本控制功能(显然,自定义它们):

      advancedVersioning {
          nameOptions { }
          codeOptions { }
          outputOptions { }
      }
      
      def appVersionName = advancedVersioning.versionName
      def appVersionCode = advancedVersioning.versionCode
      

      如需了解更多信息,请查看official documentation

      【讨论】:

        【解决方案6】:

        打开您的 build.gradle 文件并确保您在 defaultConfig 元素中包含 versionCodeversionName。如果没有,请添加它们。更多详情请参考this链接。

        【讨论】:

          【解决方案7】:

          进入 build.gradle 并在 defaultConfig 元素中设置版本代码和名称

          默认配置 { minSdkVersion 9 targetSdkVersion 19 版本代码 1 版本名称“1.0” }

          【讨论】:

            【解决方案8】:

            更新清单文件后,不要构建项目,而是转到命令行并到达路径 ...bld\Debug\platforms\android。运行命令“ant release”。您的新 release.apk 文件将有一个新的版本代码。

            【讨论】:

              【解决方案9】:

              我没有得到在 Android Studio 1.4 中工作的其他答案。但这有效: 单击主功能区下方左侧的应用名称。 它将显示文件列表。 打开AndroidManifest.xml并在此处更改版本代码和版本号。

              【讨论】:

                【解决方案10】:

                这方面的官方文档是here

                简短的回答是在 Gradle 而不是清单中执行,Gradle 会覆盖清单。

                上面给出的File | Project Structure | Modules | Default Config 答案只是通过 UI 更新 Gradle,而不是直接编辑 XML。

                更长的答案是:

                如果您的应用直接在元素中定义应用版本,则 Gradle 构建文件中的版本值将覆盖清单中的设置。此外,在 Gradle 构建文件中定义这些设置允许您为应用程序的不同版本指定不同的值。为了获得更大的灵活性并避免在合并清单时可能被覆盖,您应该从元素中删除这些属性,并改为在 Gradle 构建文件中定义您的版本设置。

                【讨论】:

                  【解决方案11】:

                  Android Studio 上的 Android 版本和代码版本号变化 >= 3.6:

                  实现这一点的两种方法:

                  1. 直接在Android项目上打开Flutter项目并修改文件

                    local.properties

                  更改以下值。示例:

                  flutter.buildMode=release
                  flutter.versionName=3.0.0
                  flutter.sdk=C\:\\src\\flutter
                  sdk.dir=C\:\\Users\\vgonza\\AppData\\Local\\Android\\sdk
                  flutter.versionCode=30
                  
                  1. 打开 pubspec.yaml

                  改变

                  version: 2.0.0+8
                  

                  含义: 版本名称为 2.0.0 版本号为8

                  参见 Suragch 的示例:

                  How to set build and version number of Flutter app

                  【讨论】:

                    【解决方案12】:

                    您可以轻松地以编程方式自动增加 versionName 和 versionCode。

                    对于 Android,请将其添加到您的 gradle 脚本中,并创建一个文件 version.properties,其中 VERSION_CODE=555

                    android {
                            compileSdkVersion 30
                            buildToolsVersion "30.0.3"
                        
                            def versionPropsFile = file('version.properties')
                            if (versionPropsFile.canRead()) {
                                def Properties versionProps = new Properties()
                        
                                versionProps.load(new FileInputStream(versionPropsFile))
                        
                                def code = versionProps['VERSION_CODE'].toInteger() + 1
                        
                                versionProps['VERSION_CODE'] = code.toString()
                                versionProps.store(versionPropsFile.newWriter(), null)
                        
                        
                                defaultConfig {
                                    applicationId "app.umanusorn.playground"
                                    minSdkVersion 29
                                    targetSdkVersion 30
                                    versionCode code
                                    versionName code.toString()
                    

                    【讨论】:

                      猜你喜欢
                      • 2011-08-02
                      • 2017-05-18
                      • 1970-01-01
                      • 2021-10-22
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多