Android版本号versionCode,versionName
封面图
•
2025-12-20
•
Android开发
232
0
0
0
在 Android 开发中,`versionCode` 和 `versionName` 是用于标识应用版本的两个重要属性,它们通常在 `AndroidManifest.xml` 文件或 `build.gradle` 文件中定义。下面是它们的详细解释: --- ### 1. **versionCode(版本代码)** - **类型**:整数(int) - **作用**:用于表示应用的版本号,是一个递增的数字,用于判断版本是否更新。 - **特点**: - 每次发布新版本时,这个值必须**增加**,否则系统可能不会认为是新版本。 - 不能为负数。 - 一般由开发者手动维护或通过脚本自动生成。 **示例:** ```xml <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.app"> <application android:versionCode="1" android:versionName="1.0" ...> </application> </manifest> ``` 或者在 `build.gradle` 中: ```gradle android { defaultConfig { versionCode 1 versionName "1.0" } } ``` --- ### 2. **versionName(版本名称)** - **类型**:字符串(String) - **作用**:用于显示给用户看的版本号,如 “1.0”、“2.1.3” 等。 - **特点**: - 可以是任意格式,比如 “1.0.0”、“v2.5”、“beta 1.2” 等。 - 不需要递增,但通常会遵循一定的语义化版本规则(如 [SemVer](https://semver.org/))。 **示例:** ```xml <application android:versionCode="2" android:versionName="1.1" ...> ``` --- ### 3. **区别总结** | 属性 | 类型 | 是否递增 | 用途 | |--------------|----------|----------|----------------------------------| | `versionCode` | int | ✅ 是 | 用于系统判断版本是否更新 | | `versionName` | String | ❌ 否 | 显示给用户看的版本号 | --- ### 4. **使用场景** - 当你发布应用到 Google Play 或其他应用商店时,**versionCode** 必须比上一个版本高。 - **versionName** 通常用于显示在应用详情页、更新日志等地方。 --- ### 5. **如何获取这两个值?** #### 在代码中获取: ```java try { PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0); String versionName = pInfo.versionName; int versionCode = pInfo.versionCode; Log.d("Version", "Name: " + versionName + ", Code: " + versionCode); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } ``` --- 如果你有具体的项目结构或构建工具(如 Gradle),我可以进一步帮你说明如何配置这些值。需要吗?
上一篇:
关于Android Studio gradle build running multiDexEnabled 介绍
下一篇:
android:versionCode和android:versionName 用途
标题录入,一次不能超过6条
留言
评论