zoukankan      html  css  js  c++  java
  • Android 之 PackageManager获取的应用程序信息与AndroidManifest文件中设置的信息不一致问题

      有时我们需要用 PackageManager 来获取应用程序的版本号和版本名称等信息,通过以下代码来获取:

    PackageManager manager = getPackageManager();
    PackageInfo info = null;
    try {
        info = manager.getPackageInfo(getPackageName(), 0);
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
    String version = info.versionName;
    int version_code = info.versionCode;

      但是最近在项目中使用发现取得的 version 和 version_code 与 AndroidManifest 文件中的版本不一致。项目是在下载的demo项目上优化改进的。

      问题原因:

      在 build.gradle 文件中也有版本号和版本名称等信息的设置,当 build.gradle 中的版本号与 AndroidManifest 文件中的版本号不一致,在代码中取得的版本号会取 build.gradle 中的版本号。

      问题解决:

      因此可以选择删去 build.gradle 文件中的相关设置,也可以将 build.gradle 文件中的相关设置与 AndroidManifest 文件中的相关设置一致化。

    apply plugin: 'com.android.application'
    
    android {
        ...
    
        defaultConfig {
            applicationId "com.usr.blelibs"
            minSdkVersion 21
            targetSdkVersion 23
            versionCode 1
            versionName "1.0"
        }
    
        ...
    } dependencies { //依赖 }
  • 相关阅读:
    uva10129 PlayOnWords(并查集,欧拉回路)
    UVA439 knightMoves (A*启发搜索)
    uva297 Quadtrees (线段树思想,区间操作)
    [uva]AncientMessages象形文字识别 (dfs求连通块)
    [uva816]AbbottsRevenge Abbott的复仇(经典迷宫BFS)
    [dp][uestc]L
    [dp][uestc oj]J
    [uestc oj]H
    [dp uestc oj] G
    [dp]uestc oj 邱老师看电影
  • 原文地址:https://www.cnblogs.com/xinaixia/p/7649450.html
Copyright © 2011-2022 走看看