Android reckon 控制项目打包版本

2023-05-16

reckon 用法

github地址:[https://github.com/ajoberstar/reckon]

根项目 gradle配置

buildscript {
    apply from: 'versions.gradle'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.1'
        classpath 'org.ajoberstar:grgit:2.3.0'
        classpath 'org.ajoberstar.reckon:reckon-gradle:0.13.0'
    }
}
 
allprojects {
    repositories {
        google()
        jcenter()
    }
}
 
configure(rootProject) {
    apply plugin: 'org.ajoberstar.grgit'
    apply plugin: 'org.ajoberstar.reckon'
    reckon {
        scopeFromProp()
        stageFromProp('develop', 'release', 'hotfix', 'final')
    }
}
 
task clean(type: Delete) {
    delete rootProject.buildDir
}

项目modul中gradle配置

plugins {
    id 'com.android.application'
}
 
android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"
 
    defaultConfig {
        applicationId "com.example.plugin"
        minSdkVersion 19
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"
        versionCode 12
        versionName "1.2.0"
 
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
 
    signingConfigs {
        debug {
            keyAlias 'android_debug_key'
            keyPassword 'android'
            storeFile file("${rootDir}/config/signing/debug.keystore")
            storePassword 'android'
        }
 
        release {
            keyAlias 'android_release_key'
            keyPassword 'releaseandroid'
            storeFile file("${rootDir}/config/signing/release.keystore")
            storePassword 'ctsiandroid'
        }
    }
 
    buildTypes {
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.debug
        }
 
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
    }
 
    flavorDimensions 'environments'
    productFlavors{
        //测试环境
        qetest{
            buildConfigField "int" ,"ENV_TYPE","1"
            buildConfigField "String","VERSION_APP","\"123-1\""
            buildConfigField "String","APP_KEY","\"test\""
            dimension "environments"
        }
 
        //预发布环境
        develop{
            buildConfigField "int" ,"ENV_TYPE","2"
            buildConfigField "String","VERSION_APP","\"123-2\""
            buildConfigField "String","APP_KEY","\"develop\""
            dimension "environments"
        }
 
        //生产环境
        porduct{
            buildConfigField "int" ,"ENV_TYPE","3"
            buildConfigField "String","VERSION_APP","\"123-3\""
            buildConfigField "String","APP_KEY","\"porduct\""
            dimension "environments"
        }
    }
 
 
    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
 
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}
 
dependencies {
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.2.1'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
    //渠道打包
    implementation 'com.meituan.android.walle:library:1.1.7'
}

打包命令:

gradlew build -Preckon.scope=minor -Preckon.stage=develop clean assembleRelease

scope = [major,minor,patch]
<major> 版本号第一位,正整数递增 {1.0.0}
<minor> 在添加功能的同时增加正整数,同时保持向后兼容 [ 1.2.0 ]
<patch> 进行修正以保持向后兼容性时,递增正整数 [ 1.2.1 ]
 

stage = [fianl,develop,release,hotfix]字母标识符,指示最终发行途中的成熟度。它们对人类应该具有逻辑意义,但是字母顺序必须是成熟度的指标,以确保它们正确排序。(例如,里程碑,rc,快照没有意义,因为快照将在rc之后排序)
<develop>  例:1.0.0-develop.1
<release>   例:1.0.0-release.1
 <hotfix>     例:1.0.0-hotfix.1
 <final>       例:1.0.1
 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android reckon 控制项目打包版本 的相关文章

随机推荐

  • DIY小四轴之电路设计(一)

    DIY小四轴之电路设计 xff08 一 xff09 写在前面 前一阵时间一直在做四轴飞行器 xff0c 略有一点收获吧 xff0c 在这里分享出来 xff0c 一方面算是对自己的总结 xff0c 另一方面希望能给想做小四轴的读者一些思路 本
  • DIY小四轴之电路设计(二)

    DIY小四轴之电路设计 xff08 二 xff09 上次我分析了四轴电源的电路 xff0c 这次我们来看电机驱动与传感器电路 三 空心杯电机驱动电路 一般的小型四轴都选用空心杯电机来驱动旋翼 xff0c 空心杯电机不仅节能而且灵敏 xff0
  • ubuntu 18.04 vnc server开机自启动

    转自 xff1a https blog csdn net lixiaotao 1 article details 90140979 1 首先确定vncserver 以正确安装到linux系统 xff1b 2 设置vncserver随系统自启
  • vnc viewer灰屏的解决方法

    vnc能够连接上 xff0c 但是进入界面灰屏 先关闭当前打开的vnc xff1a vncserver kill 88 然后修改权限 xff1a chmod 43 x vnc xstartup 然后重新打开vnc vncserver geo
  • samba 常用命令

    没怎么修改配置 xff0c 但有时需要修改时 xff0c 又是搜索一番 xff0c 故将常用的在此备份一下 修改samba配置 xff1a span class token function sudo span span class tok
  • .rst 语法+简明教程

    reStructuredText 是扩展名为 rst的纯文本文件 xff0c 含义为 34 重新构建的文本 34 xff0c 也被简称为 xff1a RST或reST xff1b 是Python编程语言的Docutils项目的一部分 xff
  • TG_7100b准备开发环境

    请在 64 位 Ubuntu 下搭建开发环境 Win10 系统可以在应用商店下载安装 Ubuntu18 04 LTS 其他用户可以安装虚拟机软件 以下为基于 Ubuntu 环境开发和编译 SDK 时需要用到的库和依赖包 xff0c 请您按顺
  • C++ STL中各容器内存、优劣的分析

    STL有三大核心部分 xff1a 容器 xff08 Container xff09 算法 xff08 Algorithms xff09 迭代器 xff08 Iterator xff09 以下介绍容器相关内容 xff1a 各种容器的元素在内存
  • 给自己时间沉淀下来

    像很多学长学姐当初一样 xff0c 我也到了繁忙的大四 这个尴尬的时间 xff0c 要选择 xff0c 要放弃 开始实习 xff0c 去窥探一下外面的世界 经过一个月的测试工作 xff0c 开始发现自己与别人的差距还是很大 再继续试水 xf
  • docker安装使用系列二之容器、镜像、仓库使用实例分析

    可能大家对docker了解不深 xff0c 这里再简单赘述一下docker这款利器 1 什么是docker Doker是基于GO语言实现的云开源项目 xff0c 通过对应用组件的封装 分发 部署 运行等生命周期的管理 xff0c 达到应用组
  • 图像处理之opencv库使用小结

    OpenCV是一个基于BSD许可 xff08 开源 xff09 发行的跨平台计算机视觉库 xff0c 可以运行在Linux Windows Android和Mac OS操作系统上 它轻量级而且高效 由一系列 C 函数和少量 C 43 43
  • react 启动项目遇到的问题

    当启动react 项目时遇到 xff1a 39 react scripts 39 不是内部或外部命令 xff0c 也不是可运行的程序 npm install npm install 下载依赖遇到安装失败 xff0c 则依赖包删除不干净 xf
  • Android LED电子表时钟字体digital font

    字体效果如下图所示 xff1a 这种类型的字体样式会被一些UI设计用于Android APP中时钟显示 xff0c 比如交通灯倒计时 实现这种字体样式 xff0c 先导入一个字体包 xff1a digital ttf 这个digital t
  • Android音视频处理之MediaCodec

    MediaCodec是Android中媒体编解码器 xff0c 可以对媒体进行编 解码 MediaCodec采用同步 异步方式处理数据 xff0c 并且使用了一组输入输出缓存 xff08 ByteBuffer xff09 通过请求一个空的输
  • 计算相机投影矩阵(含代码)(Python)

    计算相机投影矩阵 xff08 含代码 xff09 xff08 Python xff09 前几天处理点云时 xff0c 需要使用到像片与3D点云的对应关系 在这边找了一圈没有发现直接可用的代码 xff0c 于是去GitHub试了一下 xff0
  • H264 SPS中得到宽高的代码(java)

    数据需要去掉头 xff0c SPS测试数据 byte buffer 61 new byte 103 66 64 12 38 5 7 56 7 124 2 得到结果宽320高240 public class H264SpsParser pri
  • git 调换提交顺序

    前两个commit交换顺序 1 查看提交历史 git log oneline 2 把要调整顺序的commit显示在vim中 git rebase i a33d521 a33d521用来确定commit范围 xff0c 表示从此提交开始到当前
  • android hmacSha256 加密

    public class HMACSHA256 public static String hmacSha256 String KEY String VALUE return hmacSha KEY VALUE 34 HmacSHA256 3
  • Java生成固定长度的随机字符串(以大小写字母和数字)

    public class RandomStringUtil public static ArrayList lt String gt strList 61 new ArrayList lt String gt public static R
  • Android reckon 控制项目打包版本

    reckon 用法 github地址 xff1a https github com ajoberstar reckon 根项目 gradle配置 buildscript apply from 39 versions gradle 39 re