现在我想看看这条指令的每个参数实际上是什么意思,但不管我用什么方式编写 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 文件中生成一个填充新数组指令?
每个有用的答案将不胜感激!
现在我想看看这条指令的每个参数实际上是什么意思,但不管我用什么方式编写 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 文件中生成一个填充新数组指令?
每个有用的答案将不胜感激!
填充新数组操作码通常在创建多维数组时使用。
以下任何一项都应该为您提供填充新数组的指令。
int[][] iiArr1 = new int[1][2];
int[][] iiArr2 = new int[][] { { 3, 4, 5, 6 }, { 7, 8, 9, 0} };
要找到其他操作码的类似示例,我建议查看 dx 工具的测试,其中包含示例 java 代码来生成大多数操作码。例如,此测试具有生成填充新数组操作码的示例 java 代码