1
fenglala 13 小时 58 分钟前
因为体积小
|
2
YGHMXFAL 13 小时 49 分钟前 via Android
①体积小
②其实绝大多数设备都是 ARM-V8 吧?如果开发者不想支持另外仨个冷门平台,此时 universal APK 岂不是让下载者误解? |
3
bclerdx OP @fenglala Universal APK 的体积也不算很大吧,也就百兆而已吧。如果网络允许或科学好的话,百兆文件下载也很快就下载完毕的。而且我感觉 Universal APK 包的好处也是很多的。
|
4
liyafe1997 13 小时 23 分钟前 @bclerdx 不止是下载,我想到有 100MB 浪费了我的手机存储空间就浑身难受。
如果只提供 universal apk ,我想更多人会问为什么不提供分架构的。 当然,像有的项目,两种都提供,各取所需。 |
5
jim9606 12 小时 26 分钟前
因为现在手机基本都是 arm64 了,分架构打包可以实现跟 app bundle 类似的省空间功能还不需要特殊安装器来安装,而且 AGP 自带 abiFilters 可以很轻松打出分架构包和多架构包出来。
我更讨厌的是毫无必要的压缩原生库,安装时会额外占用一份空间来存储解压的库,为了“让 apk 变小”。 因为很多人压根不了解上面的问题,所以有了“预留 apk3 倍安装空间”的经验,包括部分做应用市场的开发者把这做进逻辑里了,倒带着一票开发者用错误方法解决问题。 |
6
chutsetien 11 小时 43 分钟前
@bclerdx 跟墙没有关系,大部分会去 GitHub 上拉 apk 安装的群体看到过百甚至过 200 MB 的 apk 会马上滑走。
|
7
busier 11 小时 34 分钟前 via iPhone
你猜 google play 为什么要搞拆分包格式
|
8
artiga033 11 小时 26 分钟前 via Android
@bclerdx #3 所以 universal 有什么好处,我是真想不到,顶多是跨设备传 apk 直接就能用吧,但是反正开源软件重新下一个对应架构的一样很方便
|
9
OneLiteCore 11 小时 17 分钟前 包体大小和转化率是息息相关的,对用户来说更看重的是“体验”而不是实际的功能,打个不太洽淡的比方就是需要起飞的时候去下载视频,在封面吸引程度差不多的情况下一个 100MB 另一个 1GB 此时前者肯定更容易被点击,下载快不好看大不了删了无所谓。但是此时如果出现一个 5G 大小的 4K 整合包,即便你知道画质肯定更清晰内容更多,但是等下载完毕了人都要曼巴 out 了大概率不会去点。
所以回到 apk 打包问题上,不同 ABI 分拆包体简直就是最无脑也是最有效的减少包体的方法。在编译的时候改下配置,也不需要额外的安装器,全自动脚本化操作,没理由不这么做啊。 |
10
OneLiteCore 11 小时 14 分钟前
@artiga033 对于给没有电脑知识的小白朋友推广某些功能性应用的时候有点用途,比如你朋友需要梯子你给他帮忙,你知道他用 Android 设备但是你不知道对方设备架构以及是否会被安装到老古董平板上,给人帮忙图的是省事。
|
11
civetcat 11 小时 7 分钟前
对于包体积实际上还是挺有用的,有的时候对于某些设备上的下载,还是方便不少
|
12
sheldor 9 小时 40 分钟前 via iPhone
旧设备是 v7a 的,一般设备存储容量小,你的 app 如果不是微信这种的话超过一百兆的体积我是不会去下载的,事实上我家里的老手机由于内置证书过期,我浏览器都是装的老版本 Firefox ,60 兆的体积我都觉得大但是不装就没办法正常上网,所以你就看你的 app 能有多牛吧
|
13
rb6221 8 小时 19 分钟前
iOS 用户可能很难理解「包体越大越降低用户下载欲望」这种事的,毕竟 iOS 的资源都是一股脑全打包,而用户也不关注大小
|
14
flynaj 5 小时 13 分钟前 via Android
先考虑从 google play ,f-droid 下载,没有在去 github 下载,正常设备都是 arm64-8a ,把其它架构编译进去纯属浪费空间。
|
15
docx 4 小时 56 分钟前 via iPhone
GitHub 也有提供多个 arch 的仓库啊
你在应用商店下载的 APP 也存在只有一个 arch 的情况啊 并没有什么绝对的说法,只不过开发者把这个事情直接展示给你了,而应用商店面向的是普通用户,除非你主动去翻安装包才会注意到 |
16
docx 4 小时 40 分钟前 via iPhone
我把应用商店下载 apk 随机翻了十来个,都是主流应用,从 2MB 到 220MB 都有,几乎都只有 v8a 或者 v7a 。同时支持多个 arch 的少之又少。
实际上你的疑惑并非这部分项目的“特殊行为”,而是一个广泛而普遍的现象,用不上的 libs 当然没必要放进来,浪费时间、流量、存储空间,没有实际意义。 唯一的问题是,应用商店帮你选好了,你没感觉到。而 Github 上需要你去选择下载哪一个,才引起了你的注意。 |