1. 程式人生 > >通過反編譯的方式分析阿里手淘小蜜的實現方式

通過反編譯的方式分析阿里手淘小蜜的實現方式

為什麼要分析手淘的小蜜

因為可能需要做一款類似的產品.

如何分析

  1. 反編譯手淘
  2. 檢視UI佈局

分析步驟

1. 反編譯手淘檢視反編譯後的原始碼分析實現框架

2. 反編譯資原始檔檢視資源資訊(沒有得逞)

3. 通過hierarchyviewer分析佈局結構

3. 通過抓包分析網路請求

分析結果

通過反編譯android淘寶app,發現:
1. 手淘使用的是atlas外掛框架
2. 小蜜是作為一個外掛形式存在於手淘中
3. 小蜜是通過WVUCWebView的FrameLayout代理了webview

關於第三點的實現猜測:
WVUCWebView對webview中的標籤做了原生控制元件的對映.
對映為view/button等物件,然後把文字繪製上去,有超連結的處理超連結.

相當於對原生的webview做了一層代理. 可以通過Android Device Monitor檢視佈局結構.

總結

外掛載入, 外掛相關的可以看atlas相關的資料. FrameLayout封裝的原生和webview的代理挺好的,而且使用起來體驗很不錯.

環境和工具

Ubuntu 16.04
d2j-dex2jar
apk-tool
Android Device Monitor

兩張截圖

這裡寫圖片描述

這裡寫圖片描述