zoukankan      html  css  js  c++  java
  • 利用gradle加入构建版本

    在java的程序中,貌似都没有这个构建版本的概念。用的诸如eclipse。 idea和android studio的IDE也没有直接提供构建版本的选项。只是我却想在android程序的版本其中加入一个构建版本,当然,这个仅仅是个人的蛋疼需求。尽管在stackoverflow上看到其它人也有这样的需求,但相信人不多。

    这里分享一下我的解决方法。

    首先在app的build.gradle中的android方法里面,把defaultConfig的代码替换成下面代码:

        def verName = "1.0.0"
        def suffix = "(RC)"
    
        defaultConfig {
            applicationId "cn.irains.access.v2"
            minSdkVersion 14
            targetSdkVersion 20
            versionCode 5
            versionName verName + suffix
        }
    
        def versionPropsFile = file('version.properties')
    
        if (versionPropsFile.canRead()) {
            def Properties versionProps = new Properties()
    
            versionProps.load(new FileInputStream(versionPropsFile))
    
            def name = versionProps['VERSION_NAME'].toInteger()
    
            def runTasks = gradle.startParameter.taskNames
            if ('b' in runTasks || 'build' in runTasks ) {
                name++
            }
    
            versionProps['VERSION_NAME']=name.toString()
            versionProps.store(versionPropsFile.newWriter(), null)
            defaultConfig {
                versionName verName + "." + name + suffix
            }
        }
    
        android.applicationVariants.all { variant ->
            def file = variant.outputFile
            variant.outputFile = new File(file.parent, file.name.replace(".apk", "-" + defaultConfig.versionName + ".apk"))
        }

    上面的android.applicationVariant.all就是指定了新的apk的文件名称。前面的一大堆代码都是构建版本的逻辑。

    由于是构建版本,所以先读取任务,仅在任务为b(build的缩写)或build的情况下,版本才加一。

    然后我们还须要在build.gradle的同级文件夹下建立一个叫version.properties的文件。用于保存构建版本。

    完毕之后,构建一下试试吧。


  • 相关阅读:
    Android Studio “Project Structure”选项目录结构显示异常
    Android 不通过USB数据线调试的方法
    Android OpenGL ES 开发教程 从入门到精通
    Android NIO(Noblocking I/O非阻塞I/O)小结
    phpStudy3——往数据库中添加数据
    phpStudy2——PHP脚本访问MySql数据库
    phpStudy1——PHP文件获取html提交的参数
    php页面的基本语法
    安装使用phpStudy在本机配置php运行环境
    运行php网站需要安装什么
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7039308.html
Copyright © 2011-2022 走看看