1. 程式人生 > >獲取apk 版本號 版本名

獲取apk 版本號 版本名

文章目錄

1、適用範圍

有的時候會需要對 apk 進行版本升級,或者區分 apk 更新版本等,會用到 apk 版本名 ,版本號 等問題。

2、AndroidManifest.xml 新增需要的 版本號 版本名

如圖:我們新增的
版本號是: 1
版本名是:1.1

在這裡插入圖片描述

2、程式碼裡獲取 版本號 版本名

package com.example.menglux.appversion;

import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends AppCompatActivity {

    private String  versioncode; //版本號
    private String  versionName; //版本名


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

        versioncode  =  getAppVersionCode(this);
        versionName =  getAppVersionName(this);

        System.out.println("版本號: " + versioncode + "  版本名: " + versionName);

    }



    /**
     * 返回當前應用版本號
     */
    public static String getAppVersionCode(Context context) {
        int versioncode = 0;
        try {
            PackageManager pm = context.getPackageManager();
            PackageInfo pi = pm.getPackageInfo(context.getPackageName(), 0);
            // versionName = pi.versionName;
            versioncode = pi.versionCode;
        } catch (Exception e) {
            Log.e("VersionInfo", "Exception", e);
        }
        System.out.println("版本號: " + versioncode);
        return versioncode + "";
    }

    /**
     * 返回當前應用版本名
     */
    public static String getAppVersionName(Context context) {
        String versionName=null;
        try {
            PackageManager pm = context.getPackageManager();
            PackageInfo pi = pm.getPackageInfo(context.getPackageName(), 0);
            versionName = pi.versionName;
        } catch (Exception e) {
            Log.e("VersionInfo", "Exception", e);
        }
        System.out.println("版本名: " + versionName);
        return versionName;
    }
}

列印的log 顯示:

在這裡插入圖片描述

由此我們在根據獲得的版本號 版本名等資訊 進行別的操作。