ASM-使用ASM Bytecode Outline插件查看字节码

使用ASM Bytecode Outline插件查看字节码

    • 使用ASM Bytecode Outline插件查看字节码
      • 前言
      • Intellij IDEA使用
      • Android Studio 使用
        • 存在的问题
      • 参考

使用ASM Bytecode Outline插件查看字节码

前言

在使用 ASM 插入字节码代码时、如果不熟悉字节码相关语法和规则 可能对于插入 字节码代码 就束手无策了、幸好 ASM官方开发了一款IDE插件,可以将 Java代码 转换成 ASM 字节码类型代码,这样再使用 ASM 插入字节码时就比较方便了,下面就看一下如何使用了。

ASM Bytecode Outline 插件地址:https://plugins.jetbrains.com/plugin/5918-asm-bytecode-outline

Intellij IDEA使用

下面看一下如何在 IDEA 安装插件:

1.安装插件

在 preferences > Plugins 中 输入 asm bytecode outline 如下:

ASM-使用ASM Bytecode Outline插件查看字节码_第1张图片
点击 install 安装、安装完毕后 重启 IDEA 之后在 Plugins - Installed 中 和 右侧出现工具栏说明安装已经成功!

ASM-使用ASM Bytecode Outline插件查看字节码_第2张图片

2. 如何使用

安装完成插件之后 可以先编写一份 简单的Java源代码如下:

package com.java.design.source.class_byte;

public class ByteMain {

    private int a = 1;

    public int add() {
        int b = 2;
        int c = a + b;

        return c;
    }
}

之后 在当前类文件上 右击 在出现的菜单上选择: Show Bytecode outline

ASM-使用ASM Bytecode Outline插件查看字节码_第3张图片
之后会出现 一个面板、在当前面板下会显示当前Java 代码对应的字节码文件如下:

ASM-使用ASM Bytecode Outline插件查看字节码_第4张图片
当前面板下有三项内容:

  • Bytecode 表示对应的class字节码文件
  • ASMified 表示利用ASM框架生成字节码对应的代码
  • Groovified 对应的是class字节码指令

ASMified 文件如下:

ASM-使用ASM Bytecode Outline插件查看字节码_第5张图片
Groovified 文件如下:

ASM-使用ASM Bytecode Outline插件查看字节码_第6张图片
从上述文件可以看到 完全可以利用 ASM 框架生成 class 文件而且和 Java源文件编译的class 文件完全一致。

Android Studio 使用

在Android studio 上的安装和使用和 在 IDEA 的方式是一致的,所以就不在赘述了,直接参考上面的文章就行了。

存在的问题

目前Android studio 的插件在我使用的过程中发现 此插件不支持 分析 kotlin 代码,会在使用的过程中 会报如下错误:

Error:Kotlin: Unsupported plugin option: org.jetbrains.kotlin.android:enabled=true

ASM-使用ASM Bytecode Outline插件查看字节码_第7张图片

所以我暂时也没有找到解决方案,如果有人知道请在下方留言告诉我一下,谢谢!

参考

https://plugins.jetbrains.com/plugin/5918-asm-bytecode-outline

你可能感兴趣的:(Gadle,for,Android,java,android,gradle,asm)