Android APP 设置版本号,并显示在界面上

更新日期: 2023-10-07 阅读次数: 832 字数: 251 分类: Android

由于给客户定制的 Android APP 不需要发布到应用商店,没有一套统一的版本控制渠道。 只能先通过人肉查看版本号的方式,将版本号显示在界面上。

设置版本号

app build.gradle 文件:

通过 versionCode 和 versionName 来配置 App 的版本号。

android {
    namespace 'com.sunzhongwei.app'
    compileSdk 33

    defaultConfig {
        applicationId "com.sunzhongwei.app"
        minSdk 26
        targetSdk 33
        versionCode 300
        versionName "3.0.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

	...
}

为了方便管理,我将这两个值设置为一样的,对于小项目,不频繁变动的项目,这样足够了。

获取版本号

定义一个 utils, 用 kotlin 实现:

import android.content.Context
import android.content.pm.PackageManager

fun getAppVersion(context: Context): String? {
    var version: String? = null
    try {
        val packageInfo = context.packageManager.getPackageInfo(context.packageName, 0)
        version = packageInfo.versionName
    } catch (e: PackageManager.NameNotFoundException) {
        e.printStackTrace()
    }
    return version
}

在 fragment layout XML 中显示

<TextView
	android:id="@+id/version"
	android:layout_width="match_parent"
	android:layout_height="wrap_content"
	android:gravity="center"
	style="@style/settings_item"
	android:layout_marginTop="10dp"
	android:layout_marginBottom="30dp"
	android:text="1.0.0"></TextView>

然后在 fragment onCreateView 中设置:

binding.version.text = context?.let { getAppVersion(it) }

'getPackageInfo(String, Int): PackageInfo!' is deprecated. Deprecated in Java

TODO

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式