Android Studio修改生成Apk命名

转载请注明出处:
http://blog.csdn.net/jys_05/article/details/78998633

1、Android Studio2.3中

android.applicationVariants.all { variant ->variant.outputs.each { output ->def file = output.outputFiledef filename = "*****.apk"output.outputFile = new File(file.parent, filename)}
}

fileName 赋想定义的文件名,格式为apk————>”名+.apk”

output.outputFile就是将导出(生成)的文件通过

output.outputFile = new File(file.parent, filename)

将定义的命名new 一个File赋给outputFile

android.applicationVariants.all { xixi ->xixi.outputs.each { output ->def file = output.outputFiledef filename = "****.apk"output.outputFile = new File(file.parent, filename)}
}

注意:

android.applicationVariants.all { xixi ->xixi.outputs.each { output ->def file = output.outputFiledef filename = "****.apk"output.outputFile = new File(file.parent, filename)}
}
  1. android.applicationVariants.all 是固定写法,换成android.applicationVariants.each——是不会其效果的
  2. variant.outputs.each换成variant.outputs.all——是不能”Sync Now”(或Sync Project with Gradle File)成功(variant对象名可以改)
  3. variant这个相当于是ApplicationVariants的一个对象,可以随意定义对象名字,例如上面改成“xixi”
  4. 同理:output是属于BaseVariantOutput的对象,对象名也可以随意定义

2、Android Studio3.0中

写法简单了。

android.applicationVariants.all { variant ->variant.outputs.all {outputFileName = "*****.apk"}
}

注意:
1. android.applicationVariants.all同样
2. variant.outputs.all换成variant.outputs.each是不能”Sync Now”(或Sync Project with Gradle File)成功(variant对象名可以改)

3、代码位置:

AndroidStudio2.3和3.0的代码放的位置是一样的。
app的Build.gradle中的

android{......android.applicationVariants.all{......}
}

说明:代码的位置是与android{}中的defaultConfig{}同一层的

4、用法升级:

名字修改方法

使用${...}里面传入对象
例如:outputFileName = "***${versionName}.apk"——得到的是“名+版本.apk”
可以多个${...}

以下是我在项目中使用的:

  • 增加日期/时间

    def date = new Date().format(“yyyyMMddHHmmss” , TimeZone.getTimeZone(“GMT+08”))
    def date = new Date().format(“yyyyMMddHHmmss” , TimeZone.getTimeZone(“Asia/Shanghai”))

    1. 当然解析(format)中yyyyMMddHHmmss可以换成其他,如yyyyMMdd、yyMMdd……等等,用法和Java里面一样
    2. TimeZone.getTimeZone()这是获取时区日期时间,传入GMT+08Asia/Shanghai会准确的中国时间,看到网上都是传UTC——这个问题是日期对,但是时间不对。
    3. TimeZone.getTimeZone()的用法

同理:outputFileName = "***${date}_${versionName}.apk"

  • 加入判断区分debug和release

用于区分debug和release的两种不同的名字:

if(variant.buildType.name.equals('debug')){.....
}

if(variant.buildType.name.equals('release')){.....
}

最终用法

android.applicationVariants.all { variant ->variant.outputs.all {//def date = new Date().format("yyyyMMdd" , TimeZone.getTimeZone("Asia/Shanghai"))def date = new Date().format("yyyyMMdd" , TimeZone.getTimeZone("GMT+08"))if(variant.buildType.name.equals('debug')){outputFileName = "****${date}_${versionName}.apk"}if(variant.buildType.name.equals('release')){outputFileName = "****${date}_${versionName}.apk"}}
}

Android Studio修改apk命名相关推荐

  1. android生成apk流程,Android Studio生成APK的基本流程

    Android Studio生成APK的基本流程 2020年08月14日 | 萬仟网移动技术 | 我要评论 Android Studio生成APK流程修改版本号和文件名安全加固(可选)生成签名apk修 ...

  2. 修改gradle版本android,Android Studio 修改Gradle版本

    Android Studio 修改Gradle版本 2020年07月24日 | 萬仟网移动技术 | 我要评论 Android Studio 修改Gradle版本实际开发中,我们在使用一些demo或者更 ...

  3. 【错误记录】Android Studio 打包 apk 文件报错 ( The destination folder does not exist or is not writeable )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 Android Studio 工程中 , 打包 APK 文件时 , 报错 ; Android Studio 打包 apk 文件报错 : The ...

  4. android studio 修改文件后出现类型转换错误

    android studio 修改文件后出现类型转换错误,但检查不出毛病,后来as崩溃后,重新启动后,就正常了,百思不得其解

  5. android修改用户名和密码错误,Android应用开发Android Studio 修改用户名、密码、URL等操作教程...

    本文将带你了解Android应用开发Android Studio 修改用户名.密码.URL等操作教程,希望本文对大家学Android有所帮助. 修改用户名.密码: 在AndroidStudio的ter ...

  6. 解决Android Studio 安装APK时device support,but apk only supports armeabi-v7 问题

    报错信息: Android Studio 安装APK时出现 device support,but apk only supports armeabi-v7 问题出现原因: 这两天入职了新公司,公司统一 ...

  7. Android Studio打包APK安装失败:应用是非正式版本,当前设备不支持安装

    问题描述: Android studio 打包apk后发给别人,安装失败. 失败原因显示:应用是非正式发布版本,当前设备不支持安装 原因分析: 造成该问题的原因是Android Studio 3.0会 ...

  8. mac android 打包,android studio如何生成apk android studio打包apk教程

    在android sutdio上写完一个项目之后,如何把这个项目打包发布呢,如果想在手机上运行或者别人可以直接安装,那么就要把项目打包成apk,下面来看android studio打包apk教程. 打 ...

  9. Android Studio 修改包名

    Android Studio 修改包名 1. 介绍 2. 操作概述 3. 图片解说 1. 介绍 根据目录层次修改包名(包括公司名). 目的:将 kirin 公司改成 kk. 参考:AndroidStu ...

最新文章

  1. 1.2-shell结构以及执行
  2. html5动态圆,HTML5 很有创意的圆形导航动画
  3. 数字图像处理:基于MATLAB的车牌识别项目
  4. war 发布后页面不更新_一文看懂tomcat8如何配置web页面管理
  5. SpringBoot学习笔记(4)----SpringBoot中freemarker、thymeleaf的使用
  6. 查看宝塔面板账号密码命令_宝塔面板升级到最新版图文教程
  7. 外部jar包_大数据系列之PySpark读写外部数据库
  8. 作者:姚阳(1979-),女,广州市社会科学院经济学副研究员。
  9. python化学公式_(CSP)201912-3化学方程式-python实现
  10. CentOS7安装MySQL 8.0安装
  11. influxdb 配置
  12. 国庆,用Python 带你在家来一次环球旅行打卡!
  13. golangd 报错信息梳理
  14. 在c++和C中,malloc函数的头文件是什么?C头文件, <stdlib.h>;C++头文件, <cstdlib>
  15. web项目中添加图标(unicode引用方式)
  16. 关于印发南山区引进高层次医学团队管理办法的通知
  17. vnc远程连接,5个步骤教你如何轻松实现vnc远程连接
  18. 吉林市一日游规格说明书
  19. 超神学院暗质计算机,超神学院之拳皇
  20. android应用开发-从设计到实现 4-8 天气预报的布局

热门文章

  1. 面试官问:为什么 Java 线程没有Running状态?我懵了
  2. 对策论基础---矩阵对策的解法
  3. 计蒜客-植物大战僵尸
  4. day01 Redis
  5. 谈谈面试题之为什么用线程池?解释下线程池参数?
  6. C++笔试笔记1(4399 西山居 深信服 剑心互娱 快手)
  7. STM32L071 Flash写入的数据进行CRC-CCITT校验
  8. VScode退出全屏
  9. SpringBoot中banner的在线生成如何实现
  10. PPPOE和pppd的流程详解