用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 Signed Bundle/APK命令
-
选择打包的module
-
选择签名文件,输入签名文件密码
-
选择打包为debug版本还是release版本
-
选择V1、V2签名方式
-
选择apk保存位置
-
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...