用AndroidStudio很久了,一直不理解Build Bundle(s)/APK(s)和Generate Signed Bundle/APK的详细差别,用的时间长了,无意中发现了一些东西,没意刻意去学这里的知识,既然发现了一些东西,就记录一下吧。

一般我们打包apk的时候会使用Generate Signed Bundle/APK命令来生成,那什么时候用Build Bundle(s)/APK(s)命令呢?区别如下:

  1. Generate Signed Bundle/APK
    • 执行Generate Signed Bundle/APK命令
    • 选择打包的module
    • 选择签名文件,输入签名文件密码
    • 选择打包为debug版本还是release版本
    • 选择V1、V2签名方式
    • 选择apk保存位置
  2. Build Bundle(s)/APK(s)
    • 在工具栏中选择要打包的module
    • 在Build Variants面板中选择要打包为debug版本还是release版本
    • 执行Build Bundles(s)/APK(s)命令
    • 从build.gradle中找对应版本(release/debug)的配置来打包apk,如果没有对应的配置,则打包成未签名的apk,apk位置为:build/outputs/release或debug目录下

从这里应该可以看出区别了,方式一是手动配置打包的每一步设置,而方式二是使用build.gradle的方式来自动打包,比如我们在build.gradle中配置好签名(包括对应的密码)、apk输出位置、签名方式(V1、V2),配置好这些以后,只要执行命令就自动打包了,不需要每次打包都选择签名、输入密码等重复操作。

用AndroidStudio很久了,一直不理解Build Bundle(s)/APK(s)和Generate Signed Bundle/APK的详细差别,用的时间长了,无意中发现了一些东西,没意刻意去学这里的知识,既然发现了一些东西,就记录一下吧。一般我们打包apk的时候会使用Generate Signed Bundle/APK命令来生成,那什么时候用Build Bundle(s)/APK(s)命令呢?区别如下:Generate Signed Bundle/APK执行Generate Signe 如1.2图所示。 versionCode是 app 的大版本号,为数值类型,默认为1我这里改为2。 versionName是 app 的具体版本号,为际符串类型,默认为1.0我这里改为2.3。 1.2 指定 生成 APK 文件名 一样是在 build .gradle文件 修改,默认 生成 的release版 apk 名为 app -release. apk 。 在android内部defaultConfig同层下添加以不内容(outputFileName改成自己想要的 apk 名) 我将项目放在了 E:\code\android_studio 下 而编译后 生成 apk 都是在目录 E:\code\android_studio\ app \ build \outputs\ apk \debug 下,可以通过直接打开文件找到。 二、有密匙(常规) 我在真机上测试,因为模拟机太慢了,效果不好,打电话时还有噪音。 生成 apk 参考以下步骤。 apk 的路径一般在:F:\ AndroidStudio Projects\AddressBook\ app \ build \outputs\ apk \debug 可供参考,我的项目是放在F盘的。
Android App Bundle 是一种改进的应用程序 打包 方式 ,能大幅度减少应用体积。简而言之,可以理解Google 官方的动态发布方案。按照Google官方的说法: Android App Bundle 是一种全新的上传格式,其 包含您应用的所有编译好的代码和资源,但 APK 生成 及签名工作则交给 Google Play 来处理。它使用全新的应用发布格式(aab)和Googl...
注:1、本文译自[https://codelabs.developers.google.com/codelabs/your-first-dynamic- app /#0] 2、本文“应用(程序)束”、“应用(程序)包”等价于 App bundle (s) 本文将介绍Android App Bundle s的概念以及基于优化 apk 集的动态交付特性 什么是Android App Bundle ? And...