android - 给定一个 APK 文件,是否有可能知道它是拆分 APK 文件的一部分,还是独立的?
问题描述
背景
有时当您备份某个应用的某个 APK 文件时,您会注意到它们由多个 APK 文件组成,这意味着拆分 APK 文件(AKA app-bundle)。
问题
我想知道,当有人向用户发送 APK 文件时,它是否确实是独立的,或者是拆分 APK 文件的一部分。原因是程序不同,甚至是对此类事情的警告,因为拆分的 APK 文件并不是真的要像普通文件一样安装。
我试过的
给定PackageManager
类(此处),我找不到getPackageArchiveInfo获取此类信息的方法。
有splitNames
和splitRevisionCodes
,但两者都只是空值。
我的问题
给定一个 APK 文件,是否可以检查它是否是多个拆分 APK 文件的一部分?
编辑:多亏了这里,我找到了如何为拆分 APK 文件(“base.APK”)的主 APK 执行此操作:
val packageInfo = pm.getPackageArchiveInfo(apkPath, PackageManager.GET_META_DATA)
val isSplit = packageInfo.applicationInfo.metaData.getBoolean("com.android.vending.splits.required", false)
但是,对于其余的拆分 apk 文件,getPackageArchiveInfo
在它们上使用只会返回 null。我找不到如何解析它们的清单以找到“拆分”属性。
所以我现在的问题是:
鉴于其余的拆分 APK 文件,我如何解析它们以检查它们确实是拆分 APK 文件,属于 base.APK 文件?
解决方案
推荐阅读
- python - Python Flask 出错:jinja2.exceptions.UndefinedError: 'form' is undefined
- powerbi - 计算两列之间的差异 - Power BI 中的矩阵表
- binance - 每笔交易的币安保证金利息费用
- node.js - 使用 NodeJS 从 RabbitMQ 队列中读取所有消息
- c# - How to raise NotifyCollectionChangedEventArgs with XUnit
- sql - .*(点星)在 SQL 中是什么意思?
- android - 尝试在 android studio 中设置 firestore 时应用程序在启动后崩溃
- .net - SignalR 长轮询不适用于所有消息
- android - ARCore 的 getProjectionMatrix()
- java - javafx.fxml.LoadException:StackPane 不是有效类型