这两天|小米提议禁止安卓手机提取apk文件

这两天 , 有一个关于“小米提议禁止安卓手机提取APK文件 , 遭谷歌驳回”的新闻很火 。
这两天|小米提议禁止安卓手机提取apk文件
文章图片
这个新闻中说外网有个叫MishaalRahman的推主爆料 , 说小米开发者“拟彻底阻止Android设备所有者从手机中复制APK文件” 。
这两天|小米提议禁止安卓手机提取apk文件
文章图片
这么做的理由是APK可能包含一些私有资源 , 为了保护用户安全 , 最好只从GooglePlay以及受信任的第三方应用市场获取APK 。
很多不明真相的网友看到这个就直接炸毛了 , 我就是冲着安卓自由开放的生态来的 , 人民群众喜闻乐见 , 你小米居然想搞封闭生态?
这两天|小米提议禁止安卓手机提取apk文件
文章图片
但其实呢 , 我仔细看了看这位开发者的代码 , 发现它只是限制设备使用者在利用ADBShell(电脑上调试应用时使用的命令行开发工具)提取APK文件 。
这两天|小米提议禁止安卓手机提取apk文件
文章图片
对于中国大陆安卓用户来说 , 这样的操作一定不会陌生:你有一个很喜欢的游戏 , 但是却找不到地方购买或者不想花钱买 。
于是你就会去某个众包网站找这个游戏的APK , 下载到手机上进行安装 。
这两天|小米提议禁止安卓手机提取apk文件
文章图片
那么网站上的这个APK是哪来的?就是那些购买过游戏的用户 , 利用ADBShell之类的手段把这个游戏还原成了安装程序 。
这位开发者的提议 , 说白了就是为了防破解防盗版 。
这和之前的“彻底阻止Android设备所有者从手机中复制APK文件”的本质是完全不同的 。 因为这两行代码并不会对于用户从第三方下载APK、或者手机互传APK并且进行安装这样的操作有影响 。
结果这个出发点被曲解了 , 搞了个大新闻 , 引来了许多的骂声 。
至于为啥谷歌不同意 , 其中一个原因是这两行代码并没有那么实用 。
根据外国开发者的说法 , 这个做法只能拦住那些普通用户 。 有一定技术能力的用户安装一个调试版本的安卓系统就能和以往一样用ADBpull提取APK 。
这两天|小米提议禁止安卓手机提取apk文件
文章图片
只要有那么一两个人去安装了调试版本的系统 , 并且把APK提取出来进行分享 , 那这个保护措施就等于废了 。
就好比你把世界上所有住户的钥匙都没收了 , 但只要还有开锁匠在 , 住户们最终还是能进自己家门 。
巧的是 , 绝大部分的普通用户平时并不会用ADB抓包各种软件 , 去干这个事情的都是有点儿水平的用户 , 这个代码根本拦不住这些技术党 。
这两天|小米提议禁止安卓手机提取apk文件
文章图片
如果再深入地去看一下双方在这个项目下的留言 , 我们可以发现其实这场风波的本质在于两者所在地应用市场生态的差异 。
小米开发者提出 , 他始终觉得直接导出数据是不安全不合适的 , 并且以那些付费下载的应用程序举例 。
这两天|小米提议禁止安卓手机提取apk文件
文章图片
比如有一个人付费购买App后 , 抓包出APK , 放到各种平台上给别人下载安装 , 给开发者带来巨大损失 。
然而外国开发者认为则是觉得 , 这个事情和用户怎么干没关系 , 那些付费应用应该检查用户是否付过钱 。 比如可以通过查询GooglePlay账号的购买记录、查询设备、查询安装程序来判断这个App是不是付费过的 。