Marko Stojkovic
Marko Stojkovic

Reputation: 3375

How to change Android version and code version number?

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.

Upvotes: 237

Views: 358055

Answers (14)

Antonin GAVREL
Antonin GAVREL

Reputation: 11219

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

Upvotes: 0

Ivo Stoyanov
Ivo Stoyanov

Reputation: 18699

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.

Upvotes: 94

Anti Atlas Dev
Anti Atlas Dev

Reputation: 437

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">

Upvotes: 0

Masoud.Ebrahimi
Masoud.Ebrahimi

Reputation: 309

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

Upvotes: 13

Mark Kortink
Mark Kortink

Reputation: 2120

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.

Upvotes: 4

UmAnusorn
UmAnusorn

Reputation: 11124

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()

Upvotes: 0

Val
Val

Reputation: 101

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

Upvotes: 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.

Upvotes: 1

rajlaxmi_jagdale
rajlaxmi_jagdale

Reputation: 1388

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" }

Upvotes: 2

bonnyz
bonnyz

Reputation: 13548

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.

Upvotes: 5

Vishwani
Vishwani

Reputation: 623

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.

Upvotes: 1

Piyush Agarwal
Piyush Agarwal

Reputation: 25858

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
}

Upvotes: 24

Egor
Egor

Reputation: 40193

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.

Upvotes: 3

Ajay S
Ajay S

Reputation: 48592

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

Upvotes: 442

Related Questions