android+自定义版本号,Android打包版本号设置方法

之前没有设置过打包的命名,每次打包都是默认的"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打包版本号设置方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506834.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android工程师饱和,Android开发是否饱和了?你所不了解的Android开发

原标题:Android开发是否饱和了?你所不了解的Android开发Android开发是否饱和了?是很多人关心的问题,对于想要从事Android开发的人更是头等大事。如今,就业难成横亘在求职者面前的难题,而与 之相反是互联网行业的高薪多…

android的读取xml配置文件,android中XMl文件的读取

废话不多说了直接上代码:新建一个Xml文件用于读取:test.xmljavaEclipseSwiftXcodeC#Visual Studio后台:import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.util.Log;import android.widget.TextView…

android 获取wifi的加密类型,wifi加密类型

最近开发wifi方面的功能,需要根据wifi加密类型来展现UI。遇到了一个比较蛋疼的问题:如何判断wifi加密类型wifi的管理需要通过WifiManager来操作WifiManager mWifiManager (WifiManager) context.getSystemService(Context.WIFI_SERVICE);开启和关闭wifi…

android编译的tool版本有多少,macOS Mojave(10.14.2)系统上编译LunarG/VulkanTools工程的Android版本...

$ cd ~$ git clone https://github.com/LunarG/VulkanTools.git$ cd VulkanTools$ cd build-android$ export ANDROID_SDK_HOME~/Library/Android/sdk$ export ANDROID_NDK_HOME~/Library/Android/sdk/ndk-bundle# 当前的版本需要Android SDK 23.0.0,但是需要Java 11以下版本的…

android底部导航栏软件,三步搞定android应用底部导航栏

很多android应用底部都有一个底部导航栏,方便用户在使用过程中随意切换。目前常用的做法有三种:一种是使用自定义tabHost,一种是使用activityGroup,一种是结合FrameLayout实现。笔者再做了多款应用后,为了节约开发周期&#xff0c…

html列表滑动字母索引,js实现做通讯录的索引滑动显示效果和滑动显示锚点效果...

只做实现。。完全没考虑性能优化。所以我实现了以后特别卡。第一个是在通讯录右边的索引条上进行滑动,滑动到相应字母就跳转到相应字母的锚点上。思路:监听touchmove事件,获取clientX和clientY,传入到elementFromPoint&#xff0c…

html一行中怎么写空格,html – 用一行填写空格

如何创建一个下划线,填充文本行末尾和DIV宽度结束之间的空白区域.我正在尝试以下方法:我希望当屏幕变小时,产品线会中断.我希望价格保持在右边,并加下划线.最后一个单词(Mayo)和价格之间的空格必须自动填充下划线.大屏幕:老奶酪 – 沙拉,牛油果,鸡蛋,草药…

android 屏幕飘动,Android自定义View实现飘动的叶子效果(三)

上一篇对自定义View及一些方法有所了解,下面做一个简单的叶子飘动的例子主要技术点1、添加背景图片canvas.drawBitmap()2、Matrix动画类3、Matrix添加到画布上步骤1、添加黄色背景颜色public LeafView(Context context, AttributeSet attrs) {super(context, attrs)…

html加入购物车的动画,vue实现加入购物车动画

预备基础整体思路定义商品列表,设置点击的元素(点击后触发加入购物车的函数addToShopCart)注:这里要把$event传递过去,方便得到target定义一个component用来放购物车和运动的小球定义一个component用来放运动的小球,里面包含多个b…

html 美化input file,Input[type=”file”] 显示效果美化方法 | 智慧宫

Html中input可以作为上传图片代码如下但是演示非常不好看,下面做一番美化处理,效果如下:文件上传美化前后对比美化方法隐藏 input 标签使用 label 标签在input标签位置显示;用js获取 input 中上传的文件名称,并在 labl…

html 进入效果,用css3实现简单的进入效果

这是一个比较简单的小例子,实现如图效果仅仅用css3就可以达到这种效果,代码如下:.div {position: relative;top: 20px;height: 300px;width: 200px;margin: 0 auto;background: blue;float: left;margin-left: 20px;}.div2 {position: relati…

计算机专业中agp是什么意思,计算机中AGP是什么意思及其特性介绍

AGP (Accelerated Graphic Ports 或者 Advanced Graphic Ports) 是当前已经被淘汰的图形系统接口。这项技术始于十四年以前,当时的3D图形加速技术开始流行并且迅速普及,为了使系统和图形加速卡之间的数据传输获得比PCI总线更高的带宽,AGP便应…

统计应用计算机基础,计算机基础应用试题及答案参考

计算机基础应用试题及答案参考计算机技术与通信技术的结合,使计算机网络得到发展。信息服务业的兴起使社会信息资源得到更广泛的利用。下面是小编为大家搜索整理的计算机应用基础训练题,希望能给大家带来帮助!1、计算机病毒是(B)。A.计算机系统自生的B.一…

计算机目标导学方法,计算机教学计划

计算机教学计划信息技术课程是一门特殊比较的学科,操作性较强,大部分学生对此相当感兴趣。 以下是为大家整理的计算机教学计划,希望对你们有所帮助!篇一:计算机教学计划本学期我任教11级护理班的计算机应用基础课程教学…

java 网络编程connection timed out是什么意思_什么?听说这四个概念,很多 Java 老手都说不清...

Java 是很多人一直在用的编程语言,但是有些 Java 概念是非常难以理解的,哪怕是一些多年的老手,对某些 Java 概念也存在一些混淆和困惑。所以,在这篇文章里,会介绍四个 Java 中最难理解的四个概念,去帮助开发…

计算机相近专业有哪些,计算机相关的专业有哪些

计算机、会计及相关专业计算机及相关专业04015700 教育信息技术04034200 现代信息技术教育05034300 出版与电脑编辑技术05049300 互联网广告设计05047900 电脑艺术设计07010200 信息与计算科学07014100 计算数学及其应用软件07014200 信息科学07120100 电子信息科学与技术07120…

assembly 输出ab中所有数_.NET Core中批量注入Grpc服务

(给DotNet加星标,提升.Net技能)转自:张子浩cnblogs.com/ZaraNet/p/12167517.htmlGRPC 是谷歌发布的一个开源、高性能、通用RPC服务,尽管大部分 RPC 框架都使用 TCP 协议,但其实 UDP 也可以,而 gRPC 干脆就用了 HTTP2。…

福建高职计算机知识点,2013福建高职单招 计算机类专业 知识试题

2013福建高职单招 计算机类专业 知识试题计算机类专业基础知识试题第Ⅰ卷一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确的字母标号填涂在答题卡相应在位置上,每小题3分,共120分)1、 世界上第一台计算机(ENI…

kdj指标主要看哪个值_悟空CRM:在线crm主要看这两个指标,都非常重要!

crm对很多企业都非常重要,可是很多人并不明白crm到底重要在哪些地方?比如说很多人都比较喜欢使用这个系统,尤其是在线crm。 在线crm主要看这两个指标,都非常重要,这两个指标如果上去了,基本上对企业的运营都…

在html中 正确的嵌套方式是( ).,HTML及网页制作练习题-完整版

1、在HTML中,()标记不可出现在和标记符之间。(C)(A)(B)(C)(D)2、(A)单元格所跨的列数(B)行的宽度(C)列的高度(D)单元格所跨的行数3、在HTML中,正确的嵌套方式是(B)。(A)(B)(&#xf…