现在 Android 能够在安装完软件之后删除软件的部分组件吗

2022-02-11 11:28:52 +08:00
 RIDESU

刚看到 App Store 里 QQ 的最新安装完大小为 900 多 MB ,鉴于十年没用过安卓了,因此想问问现在安卓能不能像 macOS 一样,在安装完软件之后,手动删除软件的部分组件而不影响基础功能的使用,例如删除 QQ 的虚幻 4 引擎

7059 次点击
所在节点    Android
12 条回复
gam2046
2022-02-11 11:33:58 +08:00
1 、软件本身未提供模块禁用能力的话,不能
2 、Android QQ 不带 UE4
ohwind
2022-02-11 11:52:44 +08:00
qq 的 ue4.so 是动态库,安卓认为是软件的一部分,所以是删不掉的。
理论上安卓可以做到模块化,能够单独禁用某些功能。but....why? 伞兵疼讯可不会给你专门去做。
RIDESU
2022-02-11 12:55:23 +08:00
@gam2046 @ohwind 感谢回复,那是否去文件系统中删除相关文件,软件就无法正常启动了?
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 年多没更新了。
Muniesa
2022-02-11 13:34:00 +08:00
能不能删得看情况,那些民间精简版的不就是删了部分功能做出来的嘛
gam2046
2022-02-11 14:39:00 +08:00
@cev2 #4 当真如此嘛,因为我一直 Google Play 更新,可能消息滞后了。刚才看了一眼,果然最后更新是 2020 年。不过也是不影响使用。

@RIDESU #3 设备未取得 root 的情况下,不行。因为你没有权限访问应用内部空间。
abc8678
2022-02-11 16:14:12 +08:00
@gam2046 QQ 适配 XAPK ,就不能占用这么大了。肯定不更新了
abc8678
2022-02-11 16:15:34 +08:00
@gam2046 在旧的已经 root 的华为手机折腾 APP 后,备份还原到鸿蒙,是不是相当于变相 root 修改应用了?
lns103
2022-02-11 18:41:57 +08:00
@gam2046 安卓版本的 QQ 64 位带 UE4 lib 库,32 位不带,但是都有 UE4 的基础资源
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 站分享),会显示一个加载中的灰框,你运气不错没遇到。
RIDESU
2022-02-12 10:47:17 +08:00
@jim9606 感谢解答。其实我想表达的并不是软件开发商准备的组建删除功能,而是用户手动删除软件安装后的部分文件,以 macOS 的 Word 为例,安装软件后可以自由地删除其中的语法纠正文件,这样语法纠正功能就失效了,但是不影响基础功能的使用,同时还可以删除用不到的语言包等等,这样一个 word 的体积就能减少接近 1 个 G 。不知道 Android 上 root 之后是否也能进行类似操作?
jim9606
2022-02-12 16:07:19 +08:00
@RIDESU 不是 Mac 用户不了解机制。Android 的 APK 和 Windows 的 MSIX 都有 OS 提供的签名验证和完整性保护机制,不允许对包内文件做任何改动。也就是说,开发者和 OS 都假定所有包内资源是经过签名保护完整且永远可用的。
实际上通常占体积的都是贴图等多媒体资产而不是可执行代码,这种选择在首次运行时下载算是可以接受的。不提供清理功能我觉得 PM 觉得需求少。通常用户不会特意想起要删掉不需要的功能。我在 Windows 上不是空间紧张也不会专门去删除功能组件,而且真遇上这种情况,删组件不如卸载不常用 APP 或者买硬盘那样立竿见影。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/833147

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX