Android Studio 打包APK(详细版) 您所在的位置:网站首页 delphi利用数据库实现文件打包功能的方法 Android Studio 打包APK(详细版)

Android Studio 打包APK(详细版)

2024-06-03 13:08| 来源: 网络整理| 查看: 265

Android Studio 打包APK 前言正文一、新建项目二、生成Debug和Release包三、打包的细节优化① 自定义Apk名字② 增加构建类型③ 增加版本名④ 增加日期时间 总结

前言

  做Android开发肯定对APK不陌生,你现在Android手机上所有的应用都是apk,只不过分为系统自带和第三方。

正文

  Android打包APK在开发中是必不可少的一个环节,相信你可能已经会了,或者在别的博客中看到过了,但是其实还有一些细节是你所不知道的。

一、新建项目

  本着实践的态度,新建一个GenerateAPK项目。

在这里插入图片描述 创建完成之后,你可以运行一下,运行在真机或者虚拟机都可以。

二、生成Debug和Release包

在这里插入图片描述 当你看到这个页面的时候,这个APK就已经安装在这个模拟器上面了,而这个APK就是debug版本的,但是它是运行时生成的,不是打包生成的。 怎么查看这个APK呢?

把当前项目切换成Project,然后找到build文件夹。只要你的项目运行了,就会生成这个文件夹,然后你可以通过下图 在这里插入图片描述 此时你可以将这个app-debug.apk复制,然后通过QQ发送到你自己的手机上,然后你在手机上下载上下载试着安装一下,你看能不能行。 当然是不行的,只有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.name}_v${versionName}.apk"

versionName就是你的版本名称,v就表示版本,现在版本名称是1.0。 在这里插入图片描述 那么现在打个包试一下看是不是会多一个1.0。 在这里插入图片描述 在这里插入图片描述 假如要升级一个版本,那么你改成2.0,再打包。 在这里插入图片描述 我这里只是简单演示一下,因此没有对版本号进行修改。 在这里插入图片描述

而开发中可能会出现一天搭了多个包,比如你一小时前打的包和一小时后打的包,里面修改了不同的内容。因此还需要再报名上体现这个打包的日期和时间。

④ 增加日期时间

在android{}闭包外增加

//构建时间 def generateTime() { return new Date().format("yyyy_MM_dd_HH_mm_ss") }

在这里插入图片描述

这里我选择显示构建的年月日时分秒。

outputFileName = "GenerateAPK_${buildType.name}_v${versionName}_${generateTime()}.apk"

下面打包看一下。 在这里插入图片描述 这样apk的名字就有点长了,不过你就能从这个apk的名字了解到很多信息:所属项目、构建类型、应用版本、构建日期时间。这样你给测试去测就少了很多不必要的麻烦,降低扯皮和撕逼的概率。而你只需要简单配置一下即可,何乐而不为呢?

总结

  这些内容是在开发中常见的,因此记录下来。希望能对您有所帮助,山高水长,后会有期~



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有