刚看到 App Store 里 QQ 的最新安装完大小为 900 多 MB ,鉴于十年没用过安卓了,因此想问问现在安卓能不能像 macOS 一样,在安装完软件之后,手动删除软件的部分组件而不影响基础功能的使用,例如删除 QQ 的虚幻 4 引擎
1
gam2046 2022-02-11 11:33:58 +08:00
1 、软件本身未提供模块禁用能力的话,不能
2 、Android QQ 不带 UE4 |
2
ohwind 2022-02-11 11:52:44 +08:00
qq 的 ue4.so 是动态库,安卓认为是软件的一部分,所以是删不掉的。
理论上安卓可以做到模块化,能够单独禁用某些功能。but....why? 伞兵疼讯可不会给你专门去做。 |
4
cev2 2022-02-11 13:01:40 +08:00
@gam2046 #1 Android QQ 当然自带 UE4 ,最后一个不自带 UE4 的 Android QQ 版本是 8.8.50 ,从 8.8.55 开始自带。Google Play 版的 QQ 是不自带的,因为它已经 1 年多没更新了。
|
5
Muniesa 2022-02-11 13:34:00 +08:00 via Android
能不能删得看情况,那些民间精简版的不就是删了部分功能做出来的嘛
|
6
gam2046 2022-02-11 14:39:00 +08:00
|
8
abc8678 2022-02-11 16:15:34 +08:00 via Android
@gam2046 在旧的已经 root 的华为手机折腾 APP 后,备份还原到鸿蒙,是不是相当于变相 root 修改应用了?
|
9
lns103 2022-02-11 18:41:57 +08:00 via Android
@gam2046 安卓版本的 QQ 64 位带 UE4 lib 库,32 位不带,但是都有 UE4 的基础资源
|
10
jim9606 2022-02-11 22:21:33 +08:00
我没听说过哪家支持组件删除的,按需下载倒是可以做到,例如 Google Play 支持基于 App Bundles 的 Feature/Assets Delivery 。
这玩意最严重的问题是 APP 要与应用市场耦合,如果你要上华为应用市场(好像是目前唯一支持 App Bundles 的国内渠道),开发者得针对不同市场改代码和打包。 另外,这个按需下载的特性对用户也不一定是好事。想想在一个不稳定的网络环境下载一个上百 MB 的用户急需使用的组件,用户会骂谁?还不如一开始在 wifi 网络全安装上备用。 在七八年前,流行的方法是将可选组件作为一个分离的不能运行的库 APK 安装,但我可以保证,绝大多数用户会觉得这种部署方式是垃圾,不如单一的超级 APP 省空间。 还有一种方法是运行时静态下载可执行代码(腾讯 TBS 用了这种方案),也就群魔乱舞的国内 Android 市场允许这种危险而难以监管的行为。 @gam2046 目前 Play 版本不支持小程序组件(例如 B 站分享),会显示一个加载中的灰框,你运气不错没遇到。 |
11
RIDESU OP @jim9606 感谢解答。其实我想表达的并不是软件开发商准备的组建删除功能,而是用户手动删除软件安装后的部分文件,以 macOS 的 Word 为例,安装软件后可以自由地删除其中的语法纠正文件,这样语法纠正功能就失效了,但是不影响基础功能的使用,同时还可以删除用不到的语言包等等,这样一个 word 的体积就能减少接近 1 个 G 。不知道 Android 上 root 之后是否也能进行类似操作?
|
12
jim9606 2022-02-12 16:07:19 +08:00
@RIDESU 不是 Mac 用户不了解机制。Android 的 APK 和 Windows 的 MSIX 都有 OS 提供的签名验证和完整性保护机制,不允许对包内文件做任何改动。也就是说,开发者和 OS 都假定所有包内资源是经过签名保护完整且永远可用的。
实际上通常占体积的都是贴图等多媒体资产而不是可执行代码,这种选择在首次运行时下载算是可以接受的。不提供清理功能我觉得 PM 觉得需求少。通常用户不会特意想起要删掉不需要的功能。我在 Windows 上不是空间紧张也不会专门去删除功能组件,而且真遇上这种情况,删组件不如卸载不常用 APP 或者买硬盘那样立竿见影。 |