下面是 Android 获取应用的版本号,一般来说,我们获取版本号就是获取展示给消费者的版本号:

//获取当前程序版本名(对消费者不可见的版本号)
    public String getAppVersionCode() {
        String versioncode = "";
        try {
            PackageManager pm = getPackageManager();
            PackageInfo pi = pm.getPackageInfo(getPackageName(), 0);
            versioncode = String.valueOf(pi.versionCode);
            if (versioncode == null || versioncode.length() <= 0) {
                return "";
            }
        } catch (Exception e) {
            Log.e("VersionInfo", "Exception", e);
        }
        return versioncode;
    }

    //获取当前应用的版本号(展示给消费者的版本号)
    private String getAppVersionName() {
        // 获取packagemanager的实例
        PackageManager packageManager = getPackageManager();
        // getPackageName()是你当前类的包名,0代表是获取版本信息
        PackageInfo packInfo = null;
        try {
            packInfo = packageManager.getPackageInfo(getPackageName(), 0);
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        String version = packInfo.versionName;
        return version;
    }

下面是获取 Android 系统版本号:

Build.VERSION.SDK_INT

知道获取方法之后,下面使用的示例代码:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Log.e("==对消费者不可见的版本号", getAppVersionCode());
        Log.e("==展示给消费者的版本号", getAppVersionName());
        Log.e("==当前系统的android版本号", Build.VERSION.SDK_INT+"");
    }

打印结果为:

Android获取应用的版本号和Android系统版本号_版本号