這两天,有一個關於“小米提議禁止安卓手機提取 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…