为啥小米开发者向安卓提交了两行代码,就被网友给喷了?

更新时间:2022-05-27 17:04:36作者:未知

为啥小米开发者向安卓提交了两行代码,就被网友给喷了?


这两天,有一个关于 “ 小米提议禁止安卓手机提取 APK 文件,遭谷歌驳回 ” 的新闻很火。


这个新闻中说外网有个叫 Mishaal Rahman 的推主爆料,说小米开发者 “ 拟彻底阻止 Android 设备所有者从手机中复制 APK 文件 ” 。


这么做的理由是 APK 可能包含一些私有资源,为了保护用户安全,最好只从 Google Play 以及受信任的第三方应用市场获取 APK 。

很多不明真相的网友看到这个就直接炸毛了,我就是冲着安卓自由开放的生态来的,人民群众喜闻乐见,你小米居然想搞封闭生态?


但其实呢,我仔细看了看这位开发者的代码,发现它只是限制设备使用者在利用 ADB Shell ( 电脑上调试应用时使用的命令行开发工具 )提取 APK 文件。


对于中国大陆安卓用户来说,这样的操作一定不会陌生:你有一个很喜欢的游戏,但是却找不到地方购买或者不想花钱买。

于是你就会去某个众包网站找这个游戏的 APK ,下载到手机上进行安装。


那么网站上的这个 APK 是哪来的?就是那些购买过游戏的用户,利用 ADB Shell 之类的手段把这个游戏还原成了安装程序。

这位开发者的提议,说白了就是为了防破解防盗版。

这和之前的 “ 彻底阻止 Android 设备所有者从手机中复制 APK 文件 ” 的本质是完全不同的。

因为这两行代码并不会对于用户从第三方下载 APK 、或者手机互传 APK 并且进行安装这样的操作有影响。


结果这个出发点被曲解了,搞了个大新闻,引来了许多的骂声。

至于为啥谷歌不同意,其中一个原因是这两行代码并没有那么实用。

根据外国开发者的说法,这个做法只能拦住那些普通用户。

有一定技术能力的用户安装一个调试版本的安卓系统就能和以往一样用 ADB pull 提取 APK 。


只要有那么一两个人去安装了调试版本的系统,并且把 APK 提取出来进行分享,那这个保护措施就等于废了。

就好比你把世界上所有住户的钥匙都没收了,但只要还有开锁匠在,住户们最终还是能进自己家门。

巧的是,绝大部分的普通用户平时并不会用 ADB 抓包各种软件,去干这个事情的都是有点儿水平的用户,这个代码根本拦不住这些技术党。


如果再深入地去看一下双方在这个项目下的留言,我们可以发现其实这场风波的本质在于两者所在地应用市场生态的差异。

小米开发者提出,他始终觉得直接导出数据是不安全不合适的,并且以那些付费下载的应用程序举例。


比如有一个人付费购买 App 后,抓包出 APK ,放到各种平台上给别人下载安装,给开发者带来巨大损失。

然而外国开发者认为则是觉得,这个事情和用户怎么干没关系,那些付费应用应该检查用户是否付过钱。

比如可以通过查询 Google Play 账号的购买记录、查询设备、查询安装程序来判断这个 App 是不是付费过的。


这是因为海外有Google Play 这个较为统一的应用市场,甚至近乎垄断,这种操作在外国人眼里是常识,可是却并不适用于中国大陆的安卓生态环境。

放眼中国大陆,那么多的应用市场里,各位差友觉得哪家算得上 “ 最大 ” 的?这恐怕很难有一个具体的答案。

打个比方,我去年在小米应用商店花钱买了一个 App ,但今年我换了华为手机。

如果我把那个 App 抓包在华为手机上安装,华为手机应用市场也不会有我的购买记录。


可是作为一个安卓用户,隔一年换个系统用用是很常见的操作,我明明是付过钱的正版用户,到了华为那边却成了盗版用户,这谁受得了?


鉴于这种情况,中国大陆安卓应用市场基本上就没有付费下载这种生态,开发商也无法依靠应用商店判断当前用户是否付过费。

拥有完善健全的付费下载应用的生态,对于厂商、软件开发公司以及独立开发者来说都是好事,可惜这其中的根本问题,并不是两行代码就能解决得了的。


此外,小米开发者还提到了另外一个问题,就是关于 APK 内图片之类的资源泄露问题。


因为 APK 本质是一个压缩包,用户在电脑上把它的后缀改成. zip 之类的就可以轻松解压缩,然后就可以使用里面的一些图片。

这样一来就会涉及版权问题。

外国开发者的回答也很直接:图片资源应该靠版权法保护。


而从一开始,这位小米开发者就提出了自己的疑虑:在开发者模式的高权限下,用户手机中所有的数据都能被提取出来是一件很危险的事情。

而且人人都可以通过 APK 来看到这些数据,这些数据都属于用户个人隐私,第三方是不应该有这种权限的,因此他用那两行代码进行了一些限制。


至少从表面上看,这位开发者是为了用户隐私在着想。

但实际上,外国开发者认为 APK 里面的东西根本就不能算私有资源,他的代码也拦不住真正想要看这些资源的人。


反正掰扯半天,这个提议最终被谷歌给驳回了。


从表面上看是双方各执一词无法互相理解,本质上的原因其实很简单。

说白了,这位小米开发者发起这个修改,是因为他看到了一些安卓系统本身存在的问题,并且逐一列出了理由。

只是很可惜,这些问题在外国的开发者眼里并不算什么问题,更何况这代码也不够牛 X ,自然也不用谈去解决问题了。

其实吧,想要保护收费应用的方法根本就不在于提高 APK 的提取门槛,你的门槛再高,也有高手能跨过去。

与其搞这些东西,不如想想怎么给应用搞一个更加合理点的收费验证系统比较实在。


本文标签: 安卓  app  安卓系统  谷歌  代码  

为您推荐

网易云音乐私人FM是什么意思 网易云音乐是什么软件

1、私人FM其实就是私人电台,这个私人FM只要调教的好了就会推送用户喜欢的音乐。网易云音乐私人FM是根据用户听歌习惯,进行智能推荐歌曲的一个功能。该功能依赖于平台的智能推荐算法,算法越强大,推荐的歌曲也就越符合用户喜好。

2023-01-29 10:39

信息技术是什么 关于信息技术的介绍

1、信息技术是指利用电子计算机和现代通讯手段实现获取信息、传递信息、储存信息、处理信息、显示信息、分配信息等的相关技术。 2、从广义上讲,凡是能扩展人类信息功能的技术,都是信息技术。随着微电子技术、计算机技术和通信技术

2023-01-29 03:39

wps通配符使用技巧 WPS中通配符怎么用

1、首先,我们使用键盘快捷键“ctrl+F”找到“查找与替换”的对话框,选择“替换(P)”选项。2、然后,点击下面的“高级搜索”,搜索(C)选择为“全部”并且同时打开下面的“使用通配符”选项。3、之后在查找内容栏里面输入

2023-01-27 10:39

理财和基金的区别 关于理财和基金的区别介绍

1、购买门槛,银行理财一般的购买门槛要求较高,有的在5万元以上,有的在上百万元以上;而基金的认购起点多在1000元左右,有的没有门槛限制。 2、安全性的区别,银行理财和基金虽然安全性都比较高,但是由于基金同时受基金法和

2023-01-26 00:08

结构性存款和理财产品的区别 关于结构性存款和理财产品的区别

1、本质的区别在于,结构性存款依旧是存款范围,而理财不属于存款的范围,也就是说理财是有本金亏损的风险在,而存款则一般不会有。2、结构性存款的门槛相对较高,一般五万元起投,也有部分银行推出一万起投的。而理财产品一般没有什么

2023-01-26 00:08

理财小知识 介绍 详解两个理财小知识

1、要分清理财和投资的区别:(1)投资追求的是投入于产出比,比如我们分析上市公司,经常用到ROE,其本质我们是在分析企业赚钱的能力,而理财侧重于财富的稳定增长。(2)投资的为了在最短时间内,让有限的资源产生最大的回报,而

2023-01-25 21:09