美文网首页
gradle脚本定义versionCode及versionNam

gradle脚本定义versionCode及versionNam

作者: stoolman | 来源:发表于2020-12-25 19:34 被阅读0次

    versionCode以及VersionName用来对应用做版本控制

    versionCode

    一个正整数,用作内部版本号。此数字仅用于确定某个版本是否比另一个版本更新:数字越大表示版本越新。这不是向用户显示的版本号;

    Android 系统使用 versionCode 值来防止降级,方法是阻止用户安装 versionCode 低于设备上当前所安装版本的 APK

    应用和发布服务不应向用户显示此版本值。

    VerionName

    一个字符串,用作向用户显示的版本号。您可以将此设置指定为原始字符串或对字符串资源的引用。

    除了向用户显示之外,versionName 没有其他用途。

    定义versionName以及versionCode

    android {
      ...
      defaultConfig {
        ...
        versionCode 2
        versionName "1.1"
      }
    }
    

    查询版本信息

    apk查询

    aapt dump badging xxxxx.apk
    

    Android 框架提供了一个 API,可让您向系统查询有关应用的版本信息。如需获取版本信息,packageManager的getPackageInfo(String, int)方法

    自动更新版本信息脚本

    策略:通过commit次数定义

    #common.gradle
    gradle.allprojects{
        ext {
            master_version = 1
            versionCount = getCommitCount()
            voiceSupport_versionCode = getVersionCode()
            voiceSupport_versionName = getVersionName()
        }
    }
    
    def getCommitCount(){
        println("---------- getCommitCount start ----------")
        String resultStr = null;
        Process p = Runtime.getRuntime().exec('git rev-list --count HEAD');
        InputStream fis=p.getInputStream();
        BufferedReader br=new BufferedReader( new InputStreamReader(fis,"GB2312"));
        String line=null;
        if((line=br.readLine())!=null) {
            resultStr = line;
        }
        println("----------" +  resultStr + "----------");
        return Integer.parseInt(resultStr)
    }
    
    def getVersionCode(){
        return master_version * 100000 + versionCount
    }
    
    def getVersionName(){
        return master_version.toString() + "." + versionCount.toString()
    }
    
    #build.gradle
    android {
    
        defaultConfig {
            ...
            versionCode voiceSupport_versionCode
            versionName voiceSupport_versionName
          ...
          
        }
    }
    

    相关文章

      网友评论

          本文标题:gradle脚本定义versionCode及versionNam

          本文链接:https://www.haomeiwen.com/subject/zueinktx.html