Two Android version values are easy to confuse: versionName and versionCode. They can look similar in a project, but Google Play uses them differently.
What is versionName?
versionName is the human-readable release label. Examples might be 2.4.0, 5.1 or Summer Update. It helps people identify the release, but it is not the value Google Play uses to decide which build is newer.
What is versionCode?
versionCode is the internal positive integer used to order Android releases. For an update, the new release must use an acceptable code that moves forward from codes already used for that app.
Why this matters when reviving an old project
If you inherit source code from an older app, the value in the project may not be the last code actually uploaded to Google Play. Rebuilding with a reused or lower code can create a perfectly functional local APK that cannot be accepted as the next Play release.
Can I read these values from the compiled file?
Yes. The final APK or AAB includes version metadata. Checking the last trusted release artifact is a useful way to record the current identity before migration work starts.
Check versionCode and versionName in your APK/AAB →
What should be frozen before repair work?
- package/application ID;
- versionName;
- versionCode;
- target/min SDK values;
- the exact original artifact checksum when available.
This creates a reliable baseline for comparing the repaired release.
Should versionCode be changed before every build?
Not every local debug experiment needs a Play-facing release number, but every release candidate intended to replace a previously uploaded Play build should use a new, never-reused versionCode that is appropriate for that app’s release history.
Does changing versionCode fix other Play errors?
No. It only solves release ordering. Target API, signing, bundle structure, native compatibility and policy requirements remain separate checks.
Last verified: 17 August 2026
Official references
Need the facts from your APK or AAB?
Use the free Studio checker to read the important release facts directly from the compiled artifact. You do not need Android Studio or Android development knowledge.
Analyze APK / AAB →