AndroidStudio自定义包名

在你的app/build.gradle下面添加
打包时间 (可选)

static def releaseTime() {
    return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC"))
}

在你的app/build.gradle文件中的android 方法下面添加如下代码:

 applicationVariants.all { variant ->
        variant.outputs.each { output ->
            output.outputFile = new File(output.outputFile.parent, variant.applicationId + "-" + buildType.name+"-" +defaultConfig.versionName + "-" + defaultConfig.versionCode + "-${releaseTime() }.apk" );
        }
    }
  • buildType.name 打包类型 可以选择release,debug 对应build.gradle下面的buildTypes
  • defaultConfig.versionName 是版本名
  • defaultConfig.versionCode 是版本号
  • ${releaseTime() } 打包时间戳,就是文章开始位置的代码,这里使用占位符表示
  • variant.applicationId 应用程序id ,对应build.gradle下Android方法中defaultConfig 中的applicationId

完整代码如下:

apply plugin: 'com.android.application'

static def releaseTime() {
    return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC"))
}
android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "com.haiquan.mvpdemo"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "v1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug{
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            output.outputFile = new File(output.outputFile.parent, variant.applicationId + "-" + buildType.name+"-" +defaultConfig.versionName + "-" + defaultConfig.versionCode + "-${releaseTime() }.apk" );
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
}

猜你喜欢

转载自blog.csdn.net/Marvinhq/article/details/72782162