c# - 如何管理拆分的 APK?
问题描述
我正在制作一个 Windows 程序来从设备中提取、存储和安装 APK 文件。它使用 ADB 作为连接设备的唯一方式。它通过 aapt 获取 APK 的信息并将它们组织在一个文件夹结构中(%userprofile%\Documents\AndroidToolbox\repo\PACKAGENAME\SDKVERSION\SUPPORTEDARCHITECTURES.apk)。
我的问题是 Google 实现了 App Bundle 格式,它将包分成不同的 APK,然后根据目标设备规格安装适当的文件。
一个例子:Chromecast 应用有 4 个不同的文件
base.apk (the app code itself)
split_config.arm64_v8a.apk (for ARM 64 bit architecture)
split_config.es.apk (for spanish language)
split_config.xxhdpi.apk (for specific device density)
...
但 Netflix 应用还有其他拆分 APK:
base.apk (the app code itself)
split_config.arm64_v8a.apk (for ARM 64-bit architecture)
split_config.es.apk (for Spanish language)
split_config.xxhdpi.apk (for specific device density)
split_voip.apk (Voice Over IP? Does Netflix has this feature?)
split_voip.config.arm64_v8a.apk (Voice Over IP for ARM 64-bit architecture?)
我应该如何管理这些文件?我怎么知道哪些是必不可少的?那些未知的 APK 是否与所有设备兼容?非常感谢任何建议或想法:)
解决方案
推荐阅读
- r - 使用字符串长度的模式和范围以及在 R 中的字符串子集
- typescript - 茉莉花间谍进口模块(打字稿)
- angular - How to access variables inside a function from outside in another function in typescript?
- java - 使用自动登录 JAVA 进行网页抓取
- c# - 在运行具有所有权限的可执行文件的应用程序上的 Process.Start() 上出现“访问被拒绝”错误
- sqlite - 如何创建一个正确使用第一行索引的sqlite递归视图
- java - mockito 可以抛出一般异常吗
- bash - 同时向多个系统发送 ssh -t 命令(没有 ansible)
- system.reactive - 如何将 WhenAnyValue 与更多属性一起使用
- go - 使用 go-ethereum `bind.NewTransactor()` 进行巨大的持久内存分配?