由于给客户定制的 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 聊聊, 查看更多联系方式