打包前
更新最新版本的外部文件(比如需要放到app中的文件,如html);
和产品经理确认下本次打包的功能;
Build-Clean Project, 最好清空build文件夹内的内容;
在app/gradle.properties 下
- 设置systemProp.app_version_code 为版本升级号(每次发布新版本需要+1);
- systemProp.app_version_num+systemProp.app_version_name = 应用版本号
如:systemProp.app_version_num=101 systemProp.app_version_name=1.0.1
应用版本号为:1.0.1.101 - 其它业务相关参数的配置;
- 默认product连接正式服、uat连接测试服;如要更改可以在app/build.gradle下修改;
在AS的右侧边栏上部的Grade里面选择打包脚本;
如::app -> Tasks -> build -> assembleUat表示同时打包uat环境的debug包和release包;
:app -> Tasks -> build -> assembleDebug表示同时打包所有环境(product和uat)的debug包;
:app -> Tasks -> other -> assembleProductDebug表示只打包product环境下的debug包;
:app -> Tasks -> andresguard -> resguardProductDebug表示在AndResGuard模式下只打包product环境下的debug包;
在项目根目录的gradle.properties下
- systemProp.proguard = true 可开启混淆(开启混淆后需要在SDK中开启consumerProguardFiles注释);
- 如果开启混淆, 可以直接启用Gradle->:app->Tasks->andresguard下的打包脚本, 此脚本同步增加AndResGuard功能;
- 开启混淆后,将app\build\outputs\mapping\uat\debug\mapping.txt文件上传至bugly, 并指定对应版本号;
在项目根目录的build.gradle下
- andResGuard中的use7zip必须设置为false;
在项目根目录/SDK/gradle.properties下, 检查SDK的配置文件
- 可设置IS_USE_HTTPS HTTPS开关;
版本号说明
- android:v1.0.1.1xx
前面三位是准备下次发布的正式版的版本号;
后面的版本号:0-99表示测试服APP提测包;100-199表示正式服APP提测包;200-299表示正式服专项测试包;>=300 表示测试服专项测试包;
- android:v1.0.1.1xx
其它
- 检查”xxx需求”是否与本次发版需求一致;
- 关闭保存应用日志功能;
- 屏蔽不在本次发版中需要上线的功能;
- Lint检测代码质量;
打包后
功能验证
- 打完包后检查上述配置是否正常(xxx需求、是否有日志打印、关于中的版本号);
- 主要功能是否正常;
- 验证本次升级说明描述中的功能是否正常;
加固
使用乐固加固APP,或者使用公司购买的第三方加固服务商提供的加固服务;多渠道
使用乐固加固APP的同时,进行自动多渠道打包;
一般购买的第三方加固服务也会提供多渠道打包功能;
发版后
1、版本归档;
2、发布到蒲公英、fir;
3、是否有第三方版本需要同步提供;
备注
1、APP版本号和SDK对应关系表;
2、APP版本号和app_version_code对应关系表:
1.0.1 —> 1
2.0.0 —> 2
2.0.1 —> 3