原版插件是 ASM Bytecode Outline. 这款插件翻译成字节码指令,看起来比较晕.个人改了一个版本(没有提交到 JB 仓库,需要自己去 github 下载),加入了 cfr decompile 选项,看起来更加清晰.
举个例子
kotlin 代码
data class TableModel(val tableName: String,
val columns: List<ColumnModel>) {
}
cfr decompile 反编译后则是,是不是一下子就明白 data 的作用了呢
public final class TableModel {
@NotNull
private final String tableName;
@NotNull
private final List<ColumnModel> columns;
@NotNull
public final String getTableName() {
return this.tableName;
}
@NotNull
public final List<ColumnModel> getColumns() {
return this.columns;
}
public TableModel(@NotNull String tableName, @NotNull List<ColumnModel> columns) {
Intrinsics.checkParameterIsNotNull((Object)tableName, (String)"tableName");
Intrinsics.checkParameterIsNotNull(columns, (String)"columns");
this.tableName = tableName;
this.columns = columns;
}
@NotNull
public final String component1() {
return this.tableName;
}
@NotNull
public final List<ColumnModel> component2() {
return this.columns;
}
.... 等等
插件给需要的朋友:
1
nl101531 OP 使用方式也比较简单,在 IDEA 中对着代码文件右键选择反编译即可
![]( http://oobu4m7ko.bkt.clouddn.com/1517730280.png?imageMogr2/thumbnail/!70p) |
2
ovear 2018-02-04 16:04:08 +08:00
感谢 LZ
|
3
aristotll 2018-02-04 21:07:18 +08:00
虽然觉得不错 但是这个功能不是内置的吗
|
5
aristotll 2018-02-04 22:39:06 +08:00
|
6
aristotll 2018-02-04 22:40:02 +08:00
|
8
KNOX 2018-02-05 08:54:37 +08:00 via Android
点赞楼主自己写插件,但是我看你的截图感觉跟我用 AS 内置的查看 bytecode 和 decompile 功能差不多啊
|
9
xingstar 2018-02-05 09:02:41 +08:00 via Android
很赞哦⊙∀⊙!
|
11
yzmm 2018-02-05 10:03:19 +08:00
idea 的反编译插件是用的 Fernflower 改的
https://the.bytecode.club/showthread.php?tid=5 http://the.bytecode.club/fernflower.txt |