Android Studio 打包APK(详细版),字节跳动Android金三银四解析

140 阅读7分钟

当然是不行的,只有release版本的APK才能安装在自己的手机上。

在这里插入图片描述

从这个图片上来看,你已经看到不能安装的原因了。

通过签名jks来试试,点击导航栏的Build→Generate Signed Bundle / APK…

在这里插入图片描述

在这里插入图片描述

Next

在这里插入图片描述

这里需要一个商店的key,因为没有,所以创建一个新的,点击Create new…

在这里插入图片描述

首先指明生成的jks文件的路径,点击这个文件夹图标。

在这里插入图片描述

我个人习惯放在D盘的APK目录下,然后命名jks的名称为GenerateAPK,

然后点击OK。

在这里插入图片描述

然后输入这个jks和别名的一些相关信息,上方的商店密码和别名密码可以设置为一样的,这样便于记忆,只不过安全系数就降低了。我上面设置的是123456,信息都设置好了之后,点击OK。

在这里插入图片描述

如果出现这个弹窗,你可以不用担心,点击OK。

在这里插入图片描述

这里勾选上记住密码。

在这里插入图片描述

选择release,下面两个都勾选上,然后点击Finish。

在这里插入图片描述

当你看到屏幕的右下角出现这个提示时,说明你的APK已经生成了,你可以在你的app下看到多了一个release的文件夹,里面就是app-release.apk包,下面你可以复制发到手机上,然后下载,手机上是可以安装的。

在这里插入图片描述

手机上安装成功。

在这里插入图片描述

下面通过秘钥jks来生成debug包试试看。

在这里插入图片描述

点击Finish。

在这里插入图片描述

把这个发到你的手机上。你会发现也是可以安装的,这是为什么呢?

那个这种方式生成的包在实际开发中起到什么作用呢?

在实际开发中,如果是自己测试,那么通过就直接用usb安装在手机上,此时就是文中第一种情况。

而如果当项目要上线或者上应用市场时,就需要用jks来生成release包上传到应用市场上。

实际开发中还有一点就是你的应用自己自己测试的并不是很到位,因此产品和测试会需要让你打包给他们做进一步测试,此时你可以给通过jks生成的debug包,也可以给release包,但是通常是debug包。

我想现在你已经明白了这些包的含义了。

三、打包的细节优化


从上面的操作中,你已经知道了一些内容,而在基本的开发中也是会用到的,而为了更好区别不同的包名,常用会给apk进行一个重命名,让你一眼就知道这个apk是哪个项目的。

① 自定义Apk名字

修改app下的build.gradle

// 自定义打包名称

android.applicationVariants.all { variant ->

variant.outputs.all {

outputFileName = "GenerateAPK.apk"

}

}

添加位置如下图所示,在android{}闭包中

在这里插入图片描述

添加后记得Sync一下,然后重新打一个包,这里我将打包的路径修改到了D盘,如下图所示

在这里插入图片描述

点击Finish完后打包。

在这里插入图片描述

包的确是生成了,名字也不再是app-release.apk。

然后你再打一个debug的包看看,名字是否有更改。

在这里插入图片描述

在这里插入图片描述

很明显,的确是改变了,但是有一个问题,那就是如果没有外面的这个目录我根本不知道哪个apk是debug和release的。因此我还需要在打包后知道当前的包是什么类型的。

② 增加构建类型

只要修改这一句话就可以了。

outputFileName = "GenerateAPK_${buildType.name}.apk"

buildType.name就表示构建的类型,使用$来修饰。下面依次打一个release和debug包看看。

在这里插入图片描述

在这里插入图片描述

现在你可以轻松的分辨版本了,但是这就够了吗?实际的开发中其实对于Android的版本也是有关系,比如你要升级迭代APK,那么你的版本就要比之前的版本要高。而目前这个APK上并不能看出来当前是多少版本,因此这也是需要显示的。

③ 增加版本名

再修改一下

outputFileName = "GenerateAPK_buildType.namev{buildType.name}_v{versionName}.apk"

versionName就是你的版本名称,v就表示版本,现在版本名称是1.0。

在这里插入图片描述

那么现在打个包试一下看是不是会多一个1.0。

在这里插入图片描述

在这里插入图片描述

假如要升级一个版本,那么你改成2.0,再打包。

在这里插入图片描述

资源分享

一线互联网面试专题

379页的Android进阶知识大全

379页的Android进阶知识大全

点击:

**《Android架构视频+BAT面试专题PDF+学习笔记​》**即可免费获取

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

2020年虽然路途坎坷,都在说Android要没落,但是,不要慌,做自己的计划,学自己的习,竞争无处不在,每个行业都是如此。相信自己,没有做不到的,只有想不到的。祝大家2021年万事大吉。