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

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

科技



这两天,有一个关于 “ 小米提议禁止安卓手机提取 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 的提取门槛,你的门槛再高,也有高手能跨过去。


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


撰文:小发   编辑:小鑫鑫


图片、资料来源:

https : //android-review.googlesource.com/c/platform/system/sepolicy/+/2101015/1 

知乎,小米提议禁止安卓手机提取 APK 文件,遭谷歌驳回,驳回的原因是什么?触犯了哪些利益?@

Wearone、@大顾

小米提议禁止安卓手机提取 APK 文件,遭谷歌驳回



微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
为啥小时侯总吃的樱桃越来越少见了?2021年,我们如何应对恶意应用和开发者狗急跳墙时,也站狗的一边?約旦埃及2021(10)金字塔旁的酒店Mena House苹果WWDC 2022:一家公司为啥要3400万名开发者?System76 与惠普合作为开发者提供功能强大的 Linux 笔记本电脑 | Linux 中国上海跑腿小哥被网暴,撕开最荒唐的一幕:“他吃了两碗粉,只给了一碗的钱”曾经,我对着AI客服喷了两分钟,它只回复了我的第一句话开源开发者创建首个支持维护者的基金 | Linux 中国不给钱就下架还不够,苹果这是要逼着开发者整活?为啥安卓旗舰标配的2K屏幕,苹果愣是不愿意做?最新!中国移民局:出入境从严从紧!两类人群申请护照被拒概率大!网友给出解决方案...「别人家的孩子」正在读这5本书,学习敲代码,冲刺清北分析师:订阅模式对游戏开发者意味着什么?谷歌年度开发者大会:手表手机&安卓13美成她这样,被绿不离婚就被网友狂喷没有自尊心?为啥小时候喜闻乐见的「再来一瓶」,现在都没了?硬核观察 #699 谷歌从安卓中移除大量 Fuchsia 代码川普前妻死了,一碗水端平,两行泪流下,也请哭泣送行妈妈不在家,爸爸是这样给女儿扎头发的,最后一个笑喷了!谷歌在开发者大会上说了啥?普通人都可以用的AI,没有让人失望独立游戏开发者分享:单人研发的神秘、现实与生存策略居家隔离期间,好心情都是虚拟女友给的上海南京路的四大公司中考出分后,我说男孩想上重点高中更困难,结果被喷了……资深开发者分享:如何用游乐场和迪士尼公园探索独特的关卡设计?硬核观察 #706 openKylin 发布首个体验版,目标“每一行代码都自主创新”从GitHub封停开发者账号聊开源软件供应链安全性今天去DC看樱花马斯克拟开放推特算法源代码,会改变社交平台游戏规则吗 | 自由谈「杨超越」夸她可爱是「眼瞎」?被网友狂喷的她到底错在哪了?游戏开发者分享:如何通过室内设计原则掌握空间与场景设计?DC小记:赏樱之余苹果将下架长期未更新APP,引开发者不满,不允许游戏研发完么?《Overland》开发者分享:如何在立项阶段降低独立游戏风险?
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。