How to change Android version and code version number?
Asked Answered
C

14

235

How to change Android version and code version number Android Studio? I want to change apk file (app) on Google Play and I need to change Android version and code version number. I tried with this in AndroidManifest.xml file in Android Studio:

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

But it does not work. When I tried to publish it on Google Play it display that I must to change Android version name and code.

Complexity answered 8/3, 2014 at 20:28 Comment(0)
D
438

Go in the build.gradle and set the version code and name inside the defaultConfig element

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

screenshot

Deficient answered 8/3, 2014 at 20:35 Comment(8)
Is there a way to access the versionname in Java?Covenantor
Do we also have to change the xml verion if only java files have been updated ?-> ?xml version="1.0" encoding="utf-8"?>Caroncarotene
Make sure to clean the project after changing the version or it may not show up in the APK.Demetrius
It solved my issue too. However, I really really hate,hate,hhhaaate when you have million different places where to change a variable and just one of them is the right one, like in this case!!!!Volplane
Just to mention that my project (Imported from Eclipse) didn't have the relevent lines in the build.gradle. Using the method below suggested by Ivo Stoyanov worked and added the lines.Pristine
It's pretty annoying, since this setting was just for a single App, why not keep it in APP's manifest.xml ? Google did this for no reason......Ozzy
@Ozzy True mate, it's fricking annoying to scrape Documentation when this one line is all it takes ...Mcclintock
Make sure you edit the versionCode and the versionName of this file: platforms/android/app/src/main/AndroidManifest.xml intead of platforms/android/build.gradle where you cannot find the versionCode and the versionName.Krongold
T
93

The easiest way to set the version in Android Studio:

1. Press SHIFT+CTRL+ALT+S (or File -> Project Structure)

Android Studio < 3.4:

  1. Choose app (from left panel).
  2. Choose tab 'Flavors'
  3. The last two fields are 'Version Code' and 'Version Name'

Android Studio >= 3.4:

  1. Choose 'Modules' in the left panel.
  2. Choose 'app' in middle panel.
  3. Choose 'Default Config' tab in the right panel.
  4. Scroll down to see and edit 'Version Code' and 'Version Name' fields.
Thermostatics answered 11/11, 2014 at 12:55 Comment(3)
FYI: File -> Project Structure -> Choose tab 'Flavors' Thank you @Ivo StoyanovPostwar
I face very strange issue. I change versionName from build.gradle file but it was not updated in BuildConfig file and so when I generate apk, it shows wrong versionName. Then I edit versionName from flavors, then it starts working. Thank you!Eschew
Note: This no longer works as of Android Studio 3.4Antipole
R
24

You can define your versionName and versionCode in your module's build.gradle file like this :

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    .... //Other Configuration
}
Ranket answered 8/3, 2014 at 20:36 Comment(0)
A
13

Press Ctrl+Alt+Shift+S in android studio or go to File > Project Structure...

Select app on left side and select Flavors tab on right side on default config change version code, name and etc... enter image description here

Amygdala answered 8/3, 2015 at 17:18 Comment(1)
Unable to find app option after generating my signed apkGabbey
A
5

You can manage your application versioning wisely by using the Advanced Build Version Plugin for Gradle.

You just need to include the plugin in yout 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'

And then you can use the versioning functions (and, obviously, customize them):

advancedVersioning {
    nameOptions { }
    codeOptions { }
    outputOptions { }
}

def appVersionName = advancedVersioning.versionName
def appVersionCode = advancedVersioning.versionCode

For more information, take a look at the official documentation.

Acker answered 10/5, 2015 at 19:5 Comment(0)
I
4

The official documentation on this is here.

The short answer is do it in Gradle not the manifest, Gradle overwrites the manifest.

The File | Project Structure | Modules | Default Config answer given above just updates Gradle via a UI rather than by directly editing XML.

How to update the Gradle XML

The longer answer is:

If your app defines the app version directly in the element, the version values in the Gradle build file will override the settings in the manifest. Additionally, defining these settings in the Gradle build files allows you to specify different values for different versions of your app. For greater flexibility and to avoid potential overwriting when the manifest is merged, you should remove these attributes from the element and define your version settings in the Gradle build files instead.

Isiah answered 24/7, 2021 at 23:3 Comment(0)
C
3

Open your build.gradle file and make sure you have versionCode and versionName inside defaultConfig element. If not, add them. Refer to this link for more details.

Cwm answered 8/3, 2014 at 20:35 Comment(0)
I
2

Go in the build.gradle and set the version code and name inside the defaultConfig element

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

Implead answered 12/5, 2015 at 10:4 Comment(0)
G
1

After updating the manifest file, instead of building your project, go to command line and reach the path ...bld\Debug\platforms\android. Run the command "ant release". Your new release.apk file will have a new version code.

Glassy answered 19/2, 2015 at 17:12 Comment(0)
J
1

I didn't get the other answers to work in Android Studio 1.4. But this worked: click on your app name to the left below the main ribbon. It will show a list of files. Open AndroidManifest.xml and change the version code and version number there.

Judicial answered 17/2, 2016 at 20:30 Comment(0)
R
1

Android version and code version number change on Android Studio >= 3.6:

Two ways to achieve this:

  1. Direct on the Android project by Open Flutter project and modify the file

    local.properties

change the following values. Example:

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. Open pubspec.yaml

Change the

version: 2.0.0+8

Meaning: The version name is 2.0.0 The version code is 8

See example by Suragch in:

How to set build and version number of Flutter app

Rident answered 15/5, 2020 at 1:42 Comment(0)
P
0

You can easily auto increase versionName and versionCode programmatically.

For Android add this to your gradle script and also create a file version.properties with 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()
Plessor answered 2/1, 2021 at 16:1 Comment(1)
mention any referenceAntenna
N
0

To change version of your app you have to change both of versionCode and versionName in the following files:

build.gradle:

defaultConfig {
        applicationId "com.pms.app"
        minSdk 30
        targetSdk 31
        versionCode 2
        versionName "1.0.5-beta"
    }

app_config.json:

{
  "minSdkVersion": 21.0,
  "viewBindingEnabled": false,
............
  "useR8": false,
  "targetSdkVersion": 30.0,
  "versionName": "1.0.5-beta",
  "versionCode": 2.0,
  "zipAlignEnabled": false
}

AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.pms.app"
    android:versionCode="2"
    android:versionName="1.0.5-beta">
Nominate answered 24/5, 2023 at 4:4 Comment(0)
V
0

If you are using Flutter

Go to pubspec.yaml and find version: 0.9.04+4

The left part of the + is the version name, the right part is the version code. This will edit the local.properties file (inside Android folder) and set the respective versionName and versionCode

Ventriloquy answered 21/9, 2023 at 13:39 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.