前言
各位同学大家好,有几天没给各位更新文章了,具体多久我也不记得哈,最近因为最近个人状态也不怎么好 不过现在调整好了,各位网友不用担心哈。今天就给各位分享一些上架google 商店的aab开发到上线
1.简介
Android App Bundle 是一种发布格式,简称aab,其中包含您应用的所有经过编译的代码和资源,它会将 APK 生成及签名交由 Google Play 来完成。
注意:从 2021 年 8 月起,新应用需要使用 Android App Bundle 才能在 Google Play 中发布。
游戏aab包,通常体积较大,需要使用Google的PAD(Play Asset Delivery)功能进行资源分包。本文以使用PAD的aab为例。
2.开发
-
2.1.资源包开发
Play Core API使用过程:
参考官网:
https://developer.android.com/guide/playcore/asset-delivery/integrate-java
-
2.2 资源包类型及分发
资源包的三种方式:
install-on:这类资源包属于应用包的一部分,跟随应用一起安装,应用安装完成后立即可用。
fast-follow:这类资源包属于应用程序外的文件资源。Google Play安装完成应用后,应用程序立即可用,随后Google Play自动开始下载这类资源包,直到下载完成,下载完成才可使用。这类包的体积大小,会在Play的应用界面显示出来。
on-demand:这类资源包也属于应用程序外的文件资源。需要由程序调用Play Core库进行下载,下载完成后才可使用。
以Demo项目为例,分为assetPackA,assetPackB,assetPackC,分别对应install-on,fast-follow,on-demand声明方式,大小分别为54.4 MB,65.8 MB,62.0 MB。
aab应用包实际大小为176M,Play商店页面显126M,包含assetPackA和assetPackB大小。点击下载时候,显示共58.86MB,下载完成后可以立即打开应用,并且会立即开始下载126MB的剩余部分,也就是assetPackB资源。assetPackB资源下载完成后,才可使用,并且需要手动调用API下载assetPackC才会下载该部分,知道assetPackC下载完成assetPackC才可用。
另外fast-follow和on-demand属于应用程序外的资源内容,清除应用数据时,会清除这两种方式的资源包。所以对于这两种方式的资源包使用,每次使用前,都必须检查状态是否可用,不可用则需要重新调用API去下载。
资源分包及大小情况:
Play显示及下载情况:
Play下载应用后资源包可用状态:
调用API下载assetPackC:
清除应用数据影响:
3.运行
运行到设备时,若是以默认的apk方式运行,install-on方式的资源包会找不到。
需要在运行配置里面,添加aab的运行方式,部署项选择 APK from app bundle。
4.调试
因为Asset Pack只存放资源,不包含逻辑代码,所以该部分无需调试,而应用的调试同原APK开发方式一样。
5.打包
打包过程同打包apk,只不过最终生成的是aab文件而已,就算使用PAD资源分发功能,声明多个资源包,也是打包出一个aab文件。
6.测试
-
6.1.本地安装测试
准备内容:已经打包好的aab应用包。
操作步骤:
1.对aab应用包,使用应用签名密钥,在系统终端,执行以下命令,输出apks包
java -jar "bundletool.jar文件地址" build-apks --bundle=aab包文件地址 --output=apks输出地址 --ks=密钥路径 --ks-pass=pass:存储密码 --ks-key-alias=别名 --key-pass=pass:密钥密码 --local-testing
2.手机设备连接电脑,执行以下命令安装apks包到手机上
java -jar "bundletool.jar文件地址" install-apks --apks=apks文件地址
--local-testing说明:使用此标志启用 app bundle 进行本地测试。 添加该项输出的apks包,会运行应用在无需依赖Google Play的情况下载自动完成资源包的下载和部署,因此能够实现快速的迭代测试周期。
参考官网:
(https://developer.android.com/guide/playcore/asset-delivery/test)
(https://developer.android.com/studio/command-line/bundletool)
(https://developer.android.com/guide/app-bundle/test/testing-fakesplitinstallmanager)
-
6.2.使用内部应用分享功能进行测试
前提条件:该应用包在Google Play发布过正式版本。
操作步骤:
- 打开(https://play.google.com/console/internal-app-sharing)
- 使用 发布过该应用的 Google Play开发者账号 登录
- 上传应用包,获取分享链接
- 把分享链接在手机的Chrome浏览器上打开,登录 测试账号
- 跳转到Google Play
- 若Google Play未开启内部应用分享功能,连续点击设置中的 “Play商店版本”进入开发者模式,成功进入开发者模式后,设置中会出现“内部应用分享”项,点击开启。
7.已开启“内部应用分享”功能,会进入链接指向的 内部测试版 应用页面,点击安装即可。
参考说明:
(https://developer.android.com/guide/playcore/asset-delivery/test)
(https://support.google.com/googleplay/android-developer/answer/9844679)
-
6.3.发布到测试轨道进行测试
发布到测试轨道,Google Play登录测试人员账号,下载安装该应用
7.发布
同apk发布过程,无变化
8.应用包
-
8.1.解压内容
普通apk:
普通aab:
PAD功能aab: