android工作室如何打包自动生成版本号与日期

  介绍

这篇文章给大家分享的是有关android工作室如何打包自动生成版本号与日期的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

android是什么

android是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国谷歌公司和开放手机联盟领导及开发。

一。打开项目选择如图1示(构建。gradle项目位置)

 android工作室如何打包自动生成版本号与日期

二。1. 构建。gradle文件添加内容如下.gradle是【com.android.tools.build: gradle: 3.0.0以下版本】

android {   ,   defaultConfig 才能{…}   ,   自才能动追加版本号和版本名称   android.applicationVariants.all {才能   ,,,变体→variant.outputs.each  {   ,,,,,输出→,output.outputFile =, new 文件(output.outputFile.parent,“app_device_v" + defaultConfig.versionName +“_" + new 日期().format (“yyyy-MM-dd") +“_" + buildType.name +“.apk")   ,,,}   ,,}   }

output.outputFile。父母可以指定输出到指定文件夹

2。构建。gradle文件添加内容如下。它是【com.android.tools.build: gradle: 3.0.0及其以上版本】

android {   ,   defaultConfig 才能{…}   ,//发布版才能本输出包名自动追加版本号和版本名称   applicationVariants.all {才能   ,,,variant →   ,,,,,variant.outputs.all  {   ,,,,,,,//只处理生产版本   ,,,,,,,if  (buildType.name ==, & # 39;发布# 39;),{   ,,,,,,,,,def  createTime =, new 日期().format (“YYYY-MM-dd",, TimeZone.getTimeZone (“GMT + 08:00"))   ,,,,,,,,,,//,应用程序包名称   ,,,,,,,,,outputFileName =,“app_v", +, defaultConfig.versionName  +,“_", +, createTime  +,“_", +, buildType.name  +,“.apk"   ,,,,,,,,,////指定释放输出到指定文件夹   ,,,,,,,,,variant.getPackageApplication () .outputDirectory =, new 文件(时间+ config.appReleaseDir “/$ {createTime}“)   ,,,,,,,}   ,,,,,}   ,,}   }

三。打包查看结果:图3示(直接点击assembleRelease即可)

 android工作室如何打包自动生成版本号与日期

<强>补充知识: <强> android编译gradle动态修改版本号

在构建代码的时候不想每次都修改版本号,需能够增加一个功能在特定的条件下动态的修改版本号

在清单里面加入占位符号

& lt; manifest  xmlns: android=癶ttp://schemas.android.com/apk/res/android"   ,,,android: versionCode=? {versionCode}“;   ,,,android: versionName=? {versionName}“在

修改。gradle

import  com.google.gson.Gson      class  Version  {   int  versionCode才能   String  versionName才能   }         def  versionJsonFile =,文件(& # 39;。/version.json& # 39;)//这个文件最好放一个所有项目人员都能够访问的地方   def 才能;versionJsonObject =, new  Gson () .fromJson (versionJsonFile.text, Version.class)   android.applicationVariants.all {才能   ,,,variant →   ,,,,,println (“variants  name ,:,“, +, variant.name)//只才能有满足特定条件的情况下才会版本自增一,这个可以看看各个项目的特定配置   ,,,,,if  (variant.name.toLowerCase () .contains (“ceshirelease"),), {   ,,,,,,,println (“variants  name : versionCode “, +, versionJsonObject.versionCode  +,“versionname:,“, +, versionJsonObject.versionName)   ,,,,,,,versionJsonObject.versionCode =, versionJsonObject.versionCode  + 1   ,,,,,,,int  lastIndexPoint =, versionJsonObject.versionName.lastIndexOf (“!”)   ,,,,,,,String  newStr =, versionJsonObject.versionName.substring (0,, lastIndexPoint)   ,,,,,,,println (“newStr", +, newStr)   ,,,,,,,versionJsonObject.versionName =, newStr  +,“干净,+ versionJsonObject.versionCode   ,,,,,,,println (“versonJsonStr.versionName “, +,, versionJsonObject.versionName)   ,,,,,}   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

android工作室如何打包自动生成版本号与日期