Smali是Android Dalvik虚拟机的汇编语言.
具体介绍见: http://www.infoq.com/cn/presentations/smali-assembly-language-design-and-implementation
演讲PPT见附件.
其实只是换了种机器码的表现形式而已, 使用起来也是很简单的.
周大师后面又将coding进行了合理的抽象:
编码的三种基本行为
- A:准备数据
- B:运算
- C:代码声明与描述(伪指令)
在我看来, 我们用smali进行编码, 只是换用一些更低级别的API而已. 对于进行过虚拟机开发的我们, 这些工作没有什么问题了. 大家只需要熟悉这些API, 并按具体需求进行开发就好.