查看原文
其他

诈尸更新...

维术 虚拟框架 2024-01-19

两周前,俺心血来潮把手机解锁然后刷机了;刷完之后感觉索然无味,于是立马又把手机锁回去了。在恢复数据的过程中发现了一个自己好久之前写的应用:VirtualXposed。于是打开它玩了一玩,好家伙,竟然有好多应用在里面压根就打不开!这我怎么能忍,于是我就仔细察看了一番。


看日志之后发现,问题其实比较简单,大部分应用都是 split apk;也就是说,应用是由多个安装包组成的;这种机制其实在 Android 5.0 已经引入了,它最初是为了减少应用的安装包体积的;具体来说,这种机制支持把一个大的应用拆分成若干个安装包,然后针对不同 CPU 架构,屏幕分辨率,语言等不同的设备仅仅安装它们自己需要的那一部分资源;比如说,很多应用是国际化的,里面可能包含了几百个不同国家的语言包;用 split apk 可以安装一个基础包,然后针对不同的国家安装一个 split 包,这样就大大节省了资源。


但是,虽然这个机制搞出了这么久,其实最近这种应用才逐渐变多起来;估计是 Google 推 App Bundle 的结果。Google Play 上很多应用都是通过这种方式下发的,虽然国内的应用商店基本没有支持这个,但是估计 split apk 这种方式是大势所趋,如果不支持这种格式的话,估计很多应用都用不了了。解决方案倒是比较简单,看了一下 PackageManager 的代码,无非就是把代码和资源 copy 到对应的目录,因此很轻易地就支持了,简单看了下很多 Play 上的应用都可以用。


我不知道这个应用还有多少用户,修复了这个问题之后发布了一个新版本,更新日志如下:


1. 支持 split apk。

2. 支持 64 位应用,不再支持32位应用。

3. 初步支持了 Android 11.

4. 修复若干小 bug。 


关于第二点,仅支持 64 位应用,可能有部分人感到不适应;虽然 32 位应用绝对会存在很长一段时间,但是,Google Play 其实在去年九月就强制要求所有新上架的应用必须是 64位的了,与 split apk 一样,64 位应用也是历史潮流;虽然同时支持 32 位和 64 位并不是什么问题,但是,作为业余维护,我已经不想管那么多了,毕竟写代码,让自己开心最重要了~ 


另外,此版本可能会有 Bug,毕竟我只在自己常用的一些应用上做了测试,出现问题请自己承担;有 bug 可以告诉我,但是何时修复就听天由命咯。


好了废话不多说,想要体验或者使用的同学,可以在本公众号回复:vxp  或者直接去 github 下载,祝大家周末愉快~

继续滑动看下一个

诈尸更新...

维术 虚拟框架
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存