为什么要分析手淘的小蜜
因为可能需要做一款类似的产品.
如何分析
- 反编译手淘
- 查看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