问题描述
我正在编辑一个 .smali 文件,我只需要创建一个类的实例,然后用几个参数调用它的构造函数,但是生成的字节码改为调用“this(...)”,即使我是指定要使用的上下文。
const-string v3,"string"
new-instance v2,Lcom/a/b/c/ClassName;
invoke-direct {v2,p0,v3},Lcom/a/b/c/ClassName;-><init>([BLjava/lang/String;)V
结果:
ClassName className = new ClassName();
this(arrayOfByte,"string");
试图找到有关如何调用构造函数的任何其他简单示例,我从 this PDF 中找到了以下代码:
new-instance v2,Ljava/lang/StringBuilder;
invoke-direct {v2},Ljava/lang/StringBuilder;-><init>()V
然而,反编译的字节码返回:
StringBuilder stringBuilder = new StringBuilder();
this();
我做错了什么?这是一个尽可能简单的示例,但即使没有参数,它仍然会中断。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)