当前位置: 移动技术网 > 移动技术>移动开发>Android > Android打包版本号设置方法

Android打包版本号设置方法

2019年07月24日  | 移动技术网移动技术  | 我要评论

之前没有设置过打包的命名,每次打包都是默认的"app-realease.apk",之后手动修改名字来显示出它是一个新版本。

 晚上学习了如何配置打包名称,很简单,修改build.gradle里的代码就行。

 详细记录如下:

1、打开app这个directory下的build.gradle

2、定义打包时间:

//时间
def releasetime() {
  return new date().format("yyyymmdd", timezone.gettimezone("utc"))
}

3、自定义发布时的版本号(return的返回值可自行修改,例如1.0、2.0):

//版本号
def getversionname(){
  return "2.0"
}

4、自定义打包名称(代码中的xyz可修改为app名字):

//名称
  applicationvariants.all { variant ->
    variant.outputs.each { output ->
      def outputfile = output.outputfile
      def filename
      if (outputfile != null && outputfile.name.endswith('.apk')) {
        if (variant.buildtype.name.equals('release')) {
          variant.mergedflavor.versionname = getversionname()
          filename = "xyz_${variant.mergedflavor.versionname}_release.apk"
        } else if (variant.buildtype.name.equals('debug')) {
          variant.mergedflavor.versionname = getversionname()+"."+releasetime()
          filename = "xyz_${variant.mergedflavor.versionname}_debug.apk"
        }
        output.outputfile = new file(outputfile.parent, filename)
      }
    }
  }

5、build.gradle的完整代码:

apply plugin: 'com.android.application'
//定义时间
def releasetime() {
  return new date().format("yyyymmdd", timezone.gettimezone("utc"))
}
//设置发布时的版本号
def getversionname(){
  return "2.0"
}
android {
  compilesdkversion 26
  buildtoolsversion "26.0.0"
  defaultconfig {
    applicationid "***"
    minsdkversion 14
    targetsdkversion 23
    versioncode 1
    testinstrumentationrunner "android.support.test.runner.androidjunitrunner"
  }
  buildtypes {
    release {
      buildconfigfield("boolean","api_debug","false")
      minifyenabled false
      proguardfiles getdefaultproguardfile('proguard-android.txt'), 'proguard-rules.pro'
    }
    debug {
      buildconfigfield("boolean","api_debug","true")
      minifyenabled false
      proguardfiles getdefaultproguardfile('proguard-android.txt'), 'proguard-rules.pro'
    }
  }
  //配置打包名称
  applicationvariants.all { variant ->
    variant.outputs.each { output ->
      def outputfile = output.outputfile
      def filename
      if (outputfile != null && outputfile.name.endswith('.apk')) {
        if (variant.buildtype.name.equals('release')) {
          variant.mergedflavor.versionname = getversionname()
          filename = "xyz_${variant.mergedflavor.versionname}_release.apk"
        } else if (variant.buildtype.name.equals('debug')) {
          variant.mergedflavor.versionname = getversionname()+"."+releasetime()
          filename = "xyz_${variant.mergedflavor.versionname}_debug.apk"
        }
        output.outputfile = new file(outputfile.parent, filename)
      }
    }
  }
}
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'
  })
}

总结

以上所述是小编给大家介绍的android打包版本号设置方法,希望对大家有所帮助

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网