我是学习达尔维克的新手,我想把达尔维克的每一条指令都扔掉。但是无论我如何编写代码,仍然有3条指令是我无法得到的。它们是‘不-int’,‘不-长’,‘const-string/巨量’。
我这样写是为了得到“不-int”,但失败了:
int y = ~x;Dalvik生成了一个'xor x,-1‘。
我知道‘const-string/ code’意味着代码中有超过65535个字符串,索引是32位。但是当我在代码中删除70000个字符串时,编译器说代码太长了。
因此,问题是:如何通过java代码在dalvik中获得'not-int‘和’const-string/巨无霸‘?
发布于 2013-11-15 07:15:36
const-string/jumbo很容易。正如您所指出的,您只需要定义65535多个字符串,并引用后面的一个字符串。它们并不都需要在一个类文件中,只是在同一个DEX文件中。
看看dalvik/test/056-const-string-巨无霸,特别是生成包含大量字符串的Java源文件的“构建”脚本。
就not-int和not-long而言,我不认为它们是生成的。我在一堆Android4.4APK上运行了dexdump -d,没有找到任何一个实例。
https://stackoverflow.com/questions/19991833
复制相似问题