3

现在我想看看这条指令的每个参数实际上是什么意思,但不管我用什么方式编写 java 代码,而且我从未在 dex 中看到过填充新数组:

int[] iArr1 = new int[5];//just a new-array
int[] iArr2 = {3, 4, 5, 6};//a "new-array" and "fill-array-data"

我认为 iArr2 应该生成一个填充新数组,元素是那么,如何在 dex 文件中生成一个填充新数组指令?

每个有用的答案将不胜感激!

4

1 回答 1

3

填充新数组操作码通常在创建多维数组时使用。

以下任何一项都应该为您提供填充新数组的指令。

int[][] iiArr1 = new int[1][2];
int[][] iiArr2 = new int[][] { { 3, 4, 5, 6 }, { 7, 8, 9, 0} };

要找到其他操作码的类似示例,我建议查看 dx 工具的测试,其中包含示例 java 代码来生成大多数操作码。例如,此测试具有生成填充新数组操作码的示例 java 代码

于 2013-11-01T06:56:37.687 回答