Android开发规范:APP打包规范
我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情
文章目录
- 打包前
- 打包后
- 发版后
- 备注
打包前
更新最新版本的外部文件(比如需要放到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
Android开发规范:APP打包规范相关推荐
- Android 开发 关于APP无法安装到Android模拟器上的问题
Android 开发 关于APP无法安装到Android模拟器上的问题 我们在创建一个app后,打算安装到Android模拟器上.可能会出现无法安装,或者提示已经安装无法卸载的问题.这个时候需要添加兼 ...
- android开发 重启app
android开发 重启app 我们在android开发的过程中,可能遇到过这样的情况,当数据加载完成,或者从服务器下载文件完成,需要重启 app才会生效. 实现这个功能很简单,只需在需要重启的地方加 ...
- android微信支付都需要什么意思,Android开发微信APP支付功能的要点小结
基本概念 包名值得是你APP的包,在创建工程时候设置的,需要在微信支付平台上面设置. 签名指的是你生成APK时候所用的签名文件的md5,去掉:全部小写,需要在微信支付平台上面设置. 调试阶段,签名文件 ...
- Android开发:app工程集成银联支付功能(客户端)
Android开发:app工程集成银联支付功能(客户端) email:chentravelling@163.com 上一篇博文完成了服务器端的集成,可参考: Android开发:app工程集成银联支付 ...
- android开发版本,Android开发之版本统一规范
Android开发存在着众多版本的不同,比如compileSdkVersion.minSdkVersion.targetSdkVersion以及项目中依赖第三方库的版本,不同的module及不同的开发 ...
- Android开发固定app图标大小,Android和IOS开发图标、启动页尺寸
最近项目在做android和ios的项目,设计师让我给出图标的尺寸,于是查了一下尺寸. 一.开发中的实际情况: 第一步:产品经理和UI设计师制定好UI规范,然后开始做图标做颜色做尺寸等一系列和APP界 ...
- 【Android】5+APP 打包安卓
使用HTML5 PLUS 结合安卓进行安卓APP的开发 使用工具: HBuilderX Android Studio App离线SDK 使用技术 Android 开发知识(java基础知识等) 网页开 ...
- 用于android天气开发的背景图,Android开发天气预报APP的设计与实现毕业设计.pdf
摘要 随着移动互联网技术和通信技术的发展,智能手机几乎成为人们 生活的必需品.近年来,Android系统已经成为智能手机中用户量最 多的操作系统.通过Android程序开发和设计天气预报手机应用,可 ...
- android app数据存储,基于Android开发的APP数据存储研究
谢原武+龙文 摘要: 作为一个完整的应用程序,数据存储操作是必不可少的.Android系统一共提供了四种数据存储方式分别为File文件存储.Shared Preferences存储.ContentPr ...
- Android开发——解析App启动页(Splash)黑/白闪屏现象
前言 我在开发App的时候,出现App在启动会出现短暂的黑/白闪屏现象.这样现象对用户的体验感是会产生不好的影响,于是我就研究这个现象的起因和解决办法.不负有心人,我在翻了很多博客,踩完坑之后找到起因 ...
最新文章
- 认证(登录)功能实现
- cv2 python3.5 linux,ubuntu 16.04 安装 opencv3.2.0 with python 3.5
- tensorflow打印模型结构_社区分享 | 详解 TensorFlow 中 Placement 的最后一道防线 — Placer 算法...
- Linux OpenGL 实践篇-2 创建一个窗口
- 胃癌2019csco指南_2019 CSCO胃癌诊疗指南精华来了!
- jquery对文本赋值和取值_jQuery对表单元素的取值和赋值操作代码
- 通信、计算机、电子相关专业技术工作
- C语言:强大的函数指针
- SQL DATEADD (Transact-SQL)根据需要返回时间,
- android java调用c_Android JNI简单实例(android 调用C/C++代码)
- EL表达式中,param和requestScope的区别
- 事务的隔离级别与锁的申请和释放
- 是谁逼着我们996,逼着企业996
- JSONObject.fromObject 日期类型转换问题
- 学习码 滚动码 固定码 有什么区别重码数,编码容量滚动码的原理
- C# OpenXml组件
- w ndows7错误恢复,windows7错误恢复进不去,windos错误恢复打不开
- 科尼数字科技张彬:云设计系统助力行业数字化转型
- 区块链中的“双花”问题
- 【算法题】1927. 求和游戏
热门文章
- 邮箱大师支持html,网易邮箱大师pc版
- http://wenku.baidu.com/view/d6433106a6c30c2259019e63.html
- 平庸前端码农之蜕变 — AST
- nasm预处理器(1)
- Q-M法(列表法)化简 C++ 实现
- 分享一下PPT常规使用方法和技巧
- 电脑开机显示器不显示BIOS界面,直接进入系统解决办法
- 打印机服务器虚拟端口,打印机服务器虚拟端口设置
- Android UI 切图命名规范、标注规范及单位描述
- C#:什么是委托和事件及其相关(转)