问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Android Studio打包APK完整指南

创作时间:
作者:
@小白创作中心

Android Studio打包APK完整指南

引用
CSDN
1.
https://m.blog.csdn.net/susu1083018911/article/details/145278971

本文将详细介绍如何使用Android Studio打包APK,包括创建密钥、导出APK、安装APK以及优化APK等关键步骤。

1. 导出APK安装包

创建密钥

如果是首次打包,选择"Create new"。点击蓝色对话框右边的文件夹图标,选择密钥保存路径,并在下方的File name对话框中填写名称,然后点击OK回到密钥创建对话框。

在此对话框中需要填写以下信息:

  • 密码(Password)
  • 确认密码(Confirm)
  • 别名(Alias)
  • 别名密码(Password)
  • 别名的确认密码(Confirm)
  • 密钥文件的有效期限(Validity)

对话框下半部分只有姓名(First and Last Name)是必填的。单击OK按钮回到APK签名框,此时Android Studio会自动把密码和别名填上。如果一开始选择的是已存在的密钥文件,则需手动输入密码和别名。

选择编译变量

单击Next进入下一个对话框。对话框上方可选择APK文件的保存路径,对话框中部可选择编译变量(Build Variants),如果是调试用,则编译变量选择 debug 版本;如果是发布用,则选择 release 版本(想要别的手机安装app则选择release版本)。最后点击Create按钮等待即可。

查找APK文件

切换左上角的Android为Project,此时可以发现app项目下多了个release文件夹,文件夹下有apk文件。

点击该apk文件,右键选择Open In -> Explorer,就能打开到该apk所在的文件夹。

2. 安装APK

推荐使用Android模拟器进行测试。注意:如果APK文件安装失败,可能是以下原因导致的:

  • App只能升级不能降级,假如安装包的版本号小于已安装App的版本号,就无法正常安装。版本号在build.gradle.kts中versionCode节点设置
  • 倘若新旧App签名不一致,也会导致安装失败。如之前手机安装了debug类型的App,现在又要安装release版本,就会签名冲突。

3. 制作App图标

点击项目结构图模块名称,右键菜单选择New→Image Asset,弹出如下对话框。此时在左侧Path对话框中,点击文件夹图标选择您想要更改的图标,右侧就会自动裁剪显示各规格图标的效果。再点击Next按钮,进入下一页窗口,在点击Finish按钮完成即可。

4. APK瘦身

去除冗余功能:

  1. 这两个属性中的allowBackup,被设置为true,则代表允许用户备份Apk安装包和应用数据。这样可能会导致用户的隐私被泄露出去,因此建议将此属性值改为false
  2. 第二个属性值 supportRtl ,被设置为true,则支持从右到左的文字系统,像阿拉伯语等就是从右到左书写,但是常用的中文、英文都是从左到右的,因此无特殊情况也建议将此属性值设为false

精简无用资源:
打开新项目中模块级别的build.gradle.kts,发现buildTypes节点是下方这样的:

其中的isMinifyEnabled 属性值默认是 false,其意思是是否启用最小化,如果将其设置为true,则Android Studio在打包APK文件会进行如下处理:

  • 压缩代码,移除各种无用实体,包括类、接口、方法、属性、临时变量等。
  • 混淆代码,把类名、属性名、方法名、变量名替换成简短且无意义的名称,例如People类名称替换成a,方法getID替换成b等。

压缩图片大小

5. 规范处理

版本设置:

  • 每个App都有3个基础信息:第一个是App的图标,图标文件为res/mipmap-***目录下的ic_launcher.png;
  • 第二个是App的名称,名称文字保存在res/values/strings.xml的appname当中;
  • 第三个是App的版本号,版本信息包括build.gradle.kts的versionCode与versionName两个参数,其中versionCode为纯数字的版本编号,versionName为带点号的字符串,格式形如“数字.数字.数字”。

其中versionCode的数值越大,表示该安装包的版本越高;versionCode的数值越小,表示该安装包的版本越低。依据当前App的版本号与待安装APK的版本号,系统方能比较得知是否允许升级App。至于版本名称versionName,则用来标识每次App升级的改动程度,按照通常的版本名称格式“数字.数字,数字”,第一个数字为大版本号,每当有页面改版或代码重构等重大升级时,大版本号要加1,后面两个数字清零;第二个数字为中版本号,每当要更新局部页面或添加新功能时,中版本号加1,第三个数字清零;第三个数字为小版本号,每当有界面微调或问题修复时,小版本号加1。

像应用包名、应用版本等信息,可从编译配置工具BuildConfig获取,该类提供的几个配置属性说明如下:

  • APPLICATION ID:应用包名。
  • BUILD TYPE:编译类型。为debug表示这是调试包,为release表示这是发布包。
  • VERSION CODE:应用的版本编号。
  • VERSION NAME:应用的版本名称。

发布模式:
App代码可通过BuildConfig.DEBUG去判断当前是发布模式还是调试模式,值为false表示是发布模式,true为调试模式。Log工具用于打印调试日志。但是用户不关心App日志,因此除非特殊情况,发布上线的的App应屏蔽所有日志信息。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号