Android:如何删除Bundle拆分APK及解压后的Play Asset Delivery资源包?
问题解答
1. 如何从Android应用Bundle中删除拆分APK?
拆分APK是Android App Bundle分发机制的核心组成部分,应用自身没有权限删除任何拆分APK——这些文件由系统托管在应用的安装目录下,属于系统保护的区域,应用沙盒无法修改或删除它们。
如果确实需要移除某个拆分模块,只能通过以下方式:
- 打开Google Play商店,进入应用详情页,找到对应的可卸载模块(仅当应用支持单独卸载模块时可行)进行操作;
- 卸载整个应用后,重新安装时选择不需要的模块(仅当应用支持按需安装模块时可行)。
强行删除拆分APK会破坏应用完整性,导致应用崩溃或无法正常启动,系统从底层禁止了这类操作。
2. Play Asset Delivery资源包删除相关问题
分两种场景说明:
- 安装时Asset Pack:这类资源包随应用一同安装,由系统挂载到应用的资源目录中,应用没有权限删除原始资源包文件——它们属于系统管理的只读区域,
AssetManager、PackageManager均未提供删除这类文件的接口。你可以将包内资源解压到应用沙盒,但原始包无法删除。 - 按需下载/快速跟进的Asset Pack:这类资源包下载完成后,可通过
PlayAssetDelivery类的removePack()方法删除对应的资源包以释放存储空间。调用该方法后,系统会清理下载的资源包文件,且不会影响已解压到沙盒的文件(若有)。
另外,如果你手动将资源解压到了应用沙盒目录,可直接通过File类的删除方法清理沙盒内的解压文件,这部分操作完全在应用权限范围内。
内容的提问来源于stack exchange,提问作者Bungles
相关产品推荐
相关产品推荐

