22 May 2024 Leave a comment Tech-Help
Understanding how to retrieve the build and version number of your Android application is crucial for various purposes, such as displaying it in the UI or for debugging. This guide will walk you through the steps to correctly fetch these details using the most up-to-date and efficient methods.
Using Gradle and BuildConfig
If you’re using the Gradle plugin with Android Studio, version code and version name are available statically in the BuildConfig
class. This approach doesn’t require a Context
object, making it straightforward and efficient.
Step-by-Step Guide:
- Ensure you import your app’s package:
- Access the version code and version name directly from
BuildConfig
: - Specify the version details in your
build.gradle
file:
import com.yourpackage.BuildConfig;
int versionCode = BuildConfig.VERSION_CODE;
String versionName = BuildConfig.VERSION_NAME;
defaultConfig {
versionCode 1
versionName "1.0"
}
Alternative Method Using PackageManager
If for any reason you prefer or need to use the PackageManager
class, the following method is also effective. This approach is particularly useful if you are not using Gradle or if you need to fetch these details dynamically at runtime.
Step-by-Step Guide:
- Use the following code snippet to get the version name and version code:
try {
PackageInfo pInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
String version = pInfo.versionName;
int verCode = pInfo.versionCode;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
Handling Deprecation in API 28 and Above
For applications targeting API 28 (Android 9 Pie) and above, the versionCode
is deprecated. Instead, use longVersionCode
as shown below:
val versionNumber = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
info?.longVersionCode
} else {
info?.versionCode
}
Conclusion
Retrieving the version code and version name of your Android application can be done efficiently using either the BuildConfig
class or the PackageManager
class. Choosing the right method depends on your specific needs and the structure of your project.
Streamline Your Testing with Repeato
While managing version numbers is crucial, ensuring your app functions correctly across versions is equally important. This is where Repeato comes in. Repeato is a no-code test automation tool for iOS and Android that allows you to create, run, and maintain automated tests for your apps effortlessly.
Using advanced computer vision and AI, Repeato enables you to focus on developing your app rather than spending time on test creation and maintenance. It’s particularly beneficial for mobile developers who want to delegate test automation tasks to non-technical colleagues or QA teams. Learn more about how Repeato can enhance your development process on our blog.
For more detailed documentation and guides on using Repeato, visit our documentation section.