我在博客上发表一些我的Android学习心得,希望对大家能有帮助。
在前一章我们学习了如何进行Android源代码下载,这一章学习基本的Dalvik指令集编写
Android学习心得(1) --- MAC下Android环境的搭建
Android学习心得(2) --- MAC下Android反编译
Android学习心得(3) --- MAC下Android源代码下载
这一章我们就从一个基本的例子来开始Dalvik指令集的学习
1、编写smali文件
我们编写一个smali文件来学习Dalvik指令集
先学习一下HelloWorld类的框架
.class public LHelloWorld; //public class HelloWorld
.super Ljava/lang/Object; //定义父类java.lang.Object
.method public static main([Ljava/lang/String;)V
//public static void main(String[] args) 静态main()方法
.registers * //#寄存器数量待定
.parameter //高版本的baksmali需要删除,否则编译失败
.prologue //指定函数代码起始处
return-void //函数返回
.end method
这个就是一个smali文件的整体框架
为了更好的理解,我决定从一个基本的java文件反汇编为smali文件
从而更好的理解Dalvik指令与ja