• 设置build.gradle打包时自动加时间


    在build.gradle中添加以下函数:

    def releaseTime() {
      return new Date().format("yyyyMMddHHmm", TimeZone.getTimeZone("GMT+08:00"))
    }
    

     引用这个函数:

    def fileName = "SecyrityPassDemo_${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk"
    以下是一个完整的build.gradle文件

    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 26
        buildToolsVersion "26.0.2"
        defaultConfig {
            applicationId "com.pci.securigydemotest"
            minSdkVersion 19
            targetSdkVersion 26
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        signingConfigs {
            release {
                storeFile file("/APP_Keystore/keyless.keystore")   //签名文件全路径
                storePassword "123456"
                keyAlias "keyless.keystore"
                keyPassword "123456"
            }
        }
    	applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def outputFile = output.outputFile
            if (outputFile != null && outputFile.name.endsWith('.apk')) {
                // 输出apk名称为Pos_v1.0.0_201709251000_.apk
                def fileName = "SecyrityPassDemo_${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk"
                output.outputFile = new File(outputFile.parent, fileName)
            }
        }
    }
    productFlavors {
        Beta {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "Beta"]
        }
    }
        }
        buildTypes {
            release {
                signingConfig signingConfigs.release
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    
    
        repositories {
            flatDir {
                dirs 'libs'
            }
    
        }
    }
    android {
          lintOptions {
              abortOnError false
          }
      }
    def releaseTime() {
      return new Date().format("yyyyMMddHHmm", TimeZone.getTimeZone("GMT+08:00"))
    }
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
            exclude group: 'com.android.support', module: 'support-annotations'
        })
        compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
        compile(name: 'security-release', ext: 'aar')
        compile 'com.android.support.constraint:constraint-layout:1.0.2'
        testCompile 'junit:junit:4.12'
    
    
    }
    



  • 相关阅读:
    JUC-ThreadPool线程池
    JUC-JUC强大的辅助类讲解(Semaphore、CyclicBarrier、CountDownLatch)
    JUC—Callable接口
    集合与数组之间相互转化
    [UnityShader基础]07.MaterialPropertyDrawer
    [UnityShader基础]06.#pragma multi_compile
    [Unity优化]UI优化(三):GraphicRebuild
    [UnityAPI]SerializedObject类 & SerializedProperty类
    [Unity算法]点是否在多边形范围内
    [UGUI]圆形Image
  • 原文地址:https://www.cnblogs.com/Dev0ps/p/9287382.html
Copyright © 2020-2023  润新知