Smali遍历Arraylist

时间:2018-11-14 22:07:22

标签: java android logging smali

im试图将此java行转换为smali代码

v1 = "tag"
p0 = Arraylist

p0.forEach(x -> Log.d(v1,x));

这就是我想出的

const-string/jumbo v4, "tag"

invoke-virtual {p0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;

move-result-object v1

:goto_4

invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z

move-result v2

if-eqz v2, :cond_16

invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;

move-result-object v0

check-cast v0, Ljava/lang/String;

invoke-static {v4, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

goto :goto_4

:cond_16

该应用程序运行时没有崩溃,但未生成日志条目

编辑:我把它留在这里是因为我认为它会起作用并且可能有用,我通过转换为String并使用for循环剪切字符串来解决了这个问题,我怀疑迭代器有问题

也要感谢耶稣亲自检查代码

0 个答案:

没有答案