1. 程式人生 > >AndroidStudio自定義包名

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' }