android: 设置和获取app版本
一,设置版本:
1,versionCode和 versionName的区别
1. 版本名称(Version Name)
版本名称是一个字符串,用于向用户展示当前应用的版本。例如,“1.0.0”、“2.5.1”等。
这个名称通常由开发者定义,用于标识应用的版本,便于用户理解。
2. 版本代码(Version Code)
版本代码是一个整数,用于在Google Play或其他应用市场中区分应用的各个版本。
每次发布新版本时,这个数字都应该增加。例如,从1增加到2,表示发布了新版本。
这个数字主要用于内部逻辑控制,例如强制更新逻辑。
2,设置
编辑build.gradle文件,可以看到versionCode和 versionName,
如下图

二,代码中获取版本
package com.example.okdemo1.activity;
import android.app.ActivityOptions;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.example.okdemo1.MainActivity;
import com.example.okdemo1.R;
public class ToolsActivity extends AppCompatActivity {
private boolean isTimerFinished = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_tools);
//给按钮增加点击事件
Button myButton = findViewById(R.id.button);
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
String packageName = getPackageName();
String sVersionName = packageInfo.versionName;
int sVersionCode = packageInfo.versionCode;
System.out.println("应用包名:"+packageName);
System.out.println("应用版本号:"+sVersionName);
System.out.println("应用版本code:"+sVersionCode);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
}
});
}
}
测试效果:

浙公网安备 33010602011771号