smali文件对比java文件

简介:
smali文件对比java文件:
    .class        :类名
    .super        :父类
    .source        :源文件名
    .implements        :继承的接口

    .field        :类成员变量
    .method        :类方法
    .parameter          :函数参数  p1,p2...

    .locals x        :局部变量(个数)


    const/16 v0, 0x64            :int v0 = 0x64
    const/high16 v0, 0x7f03        :高16赋值
    const-wide v0, 0x4024051eb851eb85L
    const-string v0, "1111"        :字符串

    add-int v0, p0, p1    :v0 = p0 + p1(static函数参数 从p0 开始)
    sub-int v0, p1, p2    :v0 = p1 + p2(普通成员函数参数从 p1 开始)
    mul-int v0, p1, p2    :v0 = p1 * p2
    div-int v0, p1, p2    :v0 = p1 / p2

    add-int/2addr v0, v1    :v0+v1放到 v0所在的地址
    sub-int/2addr v0, p2    :v0-p2放到 v0所在的地址

    if-ne    :if(x != y)


    iput-object v0, p0, Lcom/xyz/smali/SmaliActivity;->string:Ljava/lang/String;    :成员变量 v0 = string;
    iget-object v0, p0, Lcom/xyz/smali/SmaliActivity;->mBtn:Landroid/widget/Button;     :关联成员变量

    
    sput v0, Lcom/xyz/smali/SmaliActivity;->OK:I    :sput 给static变量赋值
    sput-wide v0, Lcom/xyz/smali/SmaliActivity;->dou:D    :sput-wide 给static的宽字节变量赋值
    sput-object v0, Lcom/xyz/smali/SmaliActivity;->sss:Ljava/lang/String;
    sget v1, Lcom/xyz/smali/SmaliActivity;->OK:I    :关联static变量


    invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V    : this.super.onCreate();
    invoke-static {p1, p2}, Lcom/xyz/smali/SmaliActivity;->add(II)I        :调用静态函数  add(p1, p2)
    invoke-virtual {v0, p0}, Landroid/widget/Button;->setOnClickListener(Landroid/view/View$OnClickListener;)V    :调用虚函数

    move-result v0        :前面调用函数后,把结果放到 v0
    move-result-object v0    :前面调用函数返回的对象给 v0

    check-cast v0, Landroid/widget/Button;    :强制类型转换  mBtn = (Button) findViewById(R.id.btn);


    return-void      :return ;
相关文章
|
1月前
|
Java
有关Java发送邮件信息(支持附件、html文件模板发送)
有关Java发送邮件信息(支持附件、html文件模板发送)
31 1
|
1月前
|
Java
java中替换文件内容
java中替换文件内容
14 1
|
1月前
|
Java API
Java中文件与输入输出
Java中文件与输入输出
|
1月前
|
Java
java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml
java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml
10 0
|
6天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
33 3
|
1天前
|
存储 前端开发 Java
Java实现文件分片上传
Java实现文件分片上传
6 0
|
1月前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
94 3
|
1月前
|
Java
使用java将字符串写入到指定的文件中
使用java将字符串写入到指定的文件中
11 0
|
1月前
|
XML Java 数据格式
使用java解析XML文件的步骤
使用java解析XML文件的步骤
10 0
|
1月前
|
Java
Java文件类
Java文件类
7 0
Java文件类