通過反編譯的方式分析阿里手淘小蜜的實現方式
阿新 • • 發佈:2019-02-19
為什麼要分析手淘的小蜜
因為可能需要做一款類似的產品.
如何分析
- 反編譯手淘
- 檢視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