360 軟體管家和豌豆莢是如何獲得某款軟體最新版的?

1.人工還是技術上實現?

2.人工的話是怎麼個流程?技術的話是如何實現的?


謝邀。

豌豆莢一直在很努力的為中國廣大的 Android 用戶提供最新、最優質的應用。我們有一個獨特的產品叫做應用搜索。應用搜索和國內主流的超過 30 家應用商店有合作,這些商店的最新應用會通過 API 的方式提交到豌豆莢後台,任何一個開發者在這些應用商店提交了新版的應用都能在豌豆莢的應用搜索內找到。除此之外還有標準的搜索引擎爬蟲抓取作為補充。

拿到這些 apk 文件之後,豌豆莢會有一系列的機制對這些應用進行解析,得到應用的 meta 信息(例如含有病毒和通知欄廣告、需要讀取敏感信息、需要付費才能激活完整版等等),來幫助用戶判斷是否需要這款應用。

值得一提的是,豌豆莢也非常鼓勵優質應用的開發者在豌豆莢獨家發布最新版,我們會有對應的推廣資源幫助優質的應用獲得更多的用戶。重點是,這一切都是免費的。


首先,是技術實現。

其次,步驟如下:

  • 第一步:app store類的應用,通過安卓API 獲取到所有APP的信息(包括名稱、包名、版本號、許可權等),並進行監聽。

  • 第二步:將所有APP的信息上傳到伺服器來進行驗證和比對。由於app store上會與開發者掛鉤最新的APP,根據版本號判斷上傳來的用戶APP list都有哪些需要更新 是件比較容易的事。

  • 第三步:伺服器將需要更新的APP list信息返回到客戶端,並展現給用戶進行友好提示更新。


全網抓取,後台提交


技術,我理解是通過apk包分析,來進行判斷,比如說包名、版本號、簽名等。google官方有相關的解析工具。


樓上都是說的手機應用,他們一般有比較標準的規範,但是像PC上的軟體管家(例如樓主說的360軟體管家),又是如何知道每個軟體是否有更新呢?


推薦閱讀:

為什麼在豌豆莢里安裝的應用都會比原版程序多出『存儲/修改刪除SD卡中的內容』和『手機通話/讀取手機狀態和身份』這兩個許可權?
搭建大型源碼閱讀環境——使用 OpenGrok
Android 源碼編譯後,怎麼發布到真機?
Xposed帶我用上真正的安卓機
MIUI主題製作賺錢嗎?

TAG:豌豆莢 | 奇虎360 | Android | 360手機助手 |