Androidstudio每次生成APK自增版本号、自动命名
2015-12-16 16:52
471 查看
前段时间临近项目测试,需要不断地发布新版本,每次都要手动更改版本号、重新命名APK的话会很麻烦。通过网上搜索到的一些资料,加一些自己的活用,现在生成APK比以前方便了很多。
VERSION_CODE=9518
祝各位顺利!
创建version.properties文件
在Module目录下用记事本创建一个version.properties文件,内容为:VERSION_CODE=9518
修改build.gradle
android { //自定义debug签名文件(与标题内容无关) signingConfigs { szridge { keyAlias '****' keyPassword '****' storeFile file('/Users/ChiEr/Documents/AndoirdTool/****.jks') storePassword '****' } } compileSdkVersion 23 buildToolsVersion '23.0.2' //如果version.properties文件可读则执行操作 def versionPropsFile = file('version.properties') if (versionPropsFile.canRead()) { //载入version.properties Properties versionProps = new Properties() versionProps.load(new FileInputStream(versionPropsFile)) //从version.properties根据关键字"VERSION_CODE"取Integer def verCode = versionProps['VERSION_CODE'].toInteger() //判断build模式,如果是发布模式(':app:assembleRelease')则自增版本号,并且写回version.properties文件中 def runTasks = gradle.startParameter.taskNames if (':app:assembleRelease' in runTasks) { versionProps['VERSION_CODE'] = (++verCode).toString() versionProps.store(versionPropsFile.newWriter(), null) } //使用自增后的版本号为为生成的APK命名 def verName = "0."+versionProps['VERSION_CODE'].toString() applicationVariants.all { variant -> if (variant.buildType.name.equals('release')) { variant.outputs.each { output -> def appName = 'pm_' def oldFile = output.outputFile def releaseApkName //由于还是测试版本,所以用"0."开头,每次发布自增0.001,如有其他需求,可自行修改计算方法及前后缀即可 releaseApkName = appName + "0." + verCode + '.APK' output.outputFile = new File(oldFile.parent, releaseApkName) } } } } else { throw new GradleException("Could not read version.properties!") } }
祝各位顺利!
相关文章推荐
- 关于Android打造一款适用所有view的刷新和加载
- android自定义标题不能填满父控件处理方式
- Android开发环境的搭建
- Android BroadcastReceiver获取用户拨打的电话号码
- [Android实例] 【第一节】android增量升级之生成so文件
- Crazy Android Note Chapter-9
- Android(Lollipop/5.0) Material Design(七) 自定义动画
- Android 4.4.2 - java.lang.RuntimeException: Performing stop of activity that is not resumed
- Android启动过程的底层实现
- Android-数据库详解之二:数据库用法介绍
- Jenkins构建Android项目持续集成之单元测试及代码覆盖率
- android 录制gif
- Android: 实现表情输入键盘的另外一种思路
- android SQL 查询操作语句大全
- Android判断ListView滚动到最顶部第0条item完全完整可见及最底部最后一条item完全完整可见
- android-----使用ImageSpan对象在TextView组件中显示图像
- Android Butter Knife使用说明
- Android Studio快速集成讯飞SDK实现文字朗读功能
- Android页面切换方法和区别
- Android-数据库详解之一:SQLite关键字以及语法