JobPlus知识库 互联网 互联网+ 文章
安卓三方市场的自动安装功能

众所周知,谷歌对安卓平台应用分发的控制力度向来都比较弱,不像IOS,非破解用户别指望可以从App Store以外的三方来源安装App。安卓发布初期,平台的「开放性」为应用数量带来了爆发性的增长,同时,一些第三方(非谷歌)的应用分发APP也看到了机遇,一时间如雨后春笋般出现在用户的视野里。这些三方市场App虽然种类繁多,但几乎每个App都有一个「自动安装应用」的功能,下面我们就来说说自动安装功能的两种实现方式。

1、利用Root权限静默安装

在安卓 2.X的时代,主动「黑」掉自己手机的用户,多是为了能让三方应用市场能够「静默安装Apk」。下面,我们来分析下三方市场到底是如何实现「静默安装」的。

安卓系统内置了一些执行Shell命令的接口,可以让用户通过字符串形式的命令实现特定的能力

,这种功能调用方式很像Windows的Cmd命令行。

在众多的shell命令中,pm install 就是用来安装apk的。三方市场只要将apk文件的地址作为参数,用pm install 命令发送给系统,系统就会「静默」的安装指定apk文件。然而,考虑到安全性(安卓一说安全,IOS就笑了),系统只允许具有Root权限的进程执行这个命令,这就是三方市场在「静默安装」Apk前,都需要获取Root权限的原因。

利用Root进行静默安装是体验最好的「自动安装」方式,因为它除了在获取Root权限时可能需要用户授权外,

安装的整个过程都可以做到无感知

,这与App Store和谷歌Play这种系统级别的市场软件的安装体验无限接近。然而,随着安卓系统安全性的提升和用户本身安全意识的增强,已

Root手机的市场覆盖率会越来越少,「静默安装」功能也将受到制约。

2、利用安卓辅助功能自动安装

在4.1时代,谷歌带来了Accessibility(辅助功能),该功能旨在为一些残障或者行动或感知受限的人士更方便的使用安卓系统。其

主要原理是应用通过检索当前屏幕上的控件,实现对指定控件的点击、选中,来代替用户的真实操作

。其主要流程如下:

1)应用程序安装时,向系统注册自定义的Accessibility服务,并指定被监测应用的包名。

2)用户在系统设置中,授权监测者开启Accessibility服务。

3)当被监测应用的界面上屏时,系统将界面信息通知到监测者的Accessibility服务。

4)监测者通过分析系统通知的内容,检索到需要操作的控件,进行操作(选中、点击等)。

第四步中,一般是通过控件类型结合控件的内容来检索需要操作的控件,比如文字内容为「安装」的「Button」控件。

虽然这个功能的实现说起来只有简单的四步,但其中最麻烦的就是第四步中的检索逻辑对不同Rom的适配。具体要做多少适配,大家还是来感受下「豌豆荚」的工程师的吐槽吧 。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏支持
27人赞 举报
分享到
用户评价(0)

暂无评价,你也可以发布评价哦:)

0 人收藏了这篇文章
腾讯云数据库性能卓越稳定可靠,为您解决数据库运维难题
广告
扫码APP

扫描使用APP

扫码使用

扫描使用小程序