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

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

1

2

3

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文件

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

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'

 

 

}

你可能感兴趣的:(Android)