现在我想看看这个指令的每个参数实际意味着什么剂量,但是没有关于我用来编写java代码的方式,我从来没有在dex中看过fill-new-array:
int[] iArr1 = new int[5];//just a new-array
int[] iArr2 = {3, 4, 5, 6};//a "new-array" and "fill-array-data"
我认为iArr2应该生成一个填充的新数组,元素是 那么,如何在dex文件中生成一个填充的新数组指令?
每一个有用的答案都将不胜感激!
答案 0 :(得分:1)
填充新数组操作码通常在创建多维数组时使用。
下面的任何一个都应该为你提供一个填充的新数组指令。
int[][] iiArr1 = new int[1][2];
int[][] iiArr2 = new int[][] { { 3, 4, 5, 6 }, { 7, 8, 9, 0} };
为了找到其他操作码的类似示例,我建议查看dx工具的测试,它具有生成大多数操作码的示例java代码。例如,this test具有生成fill-new-array操作码的示例java代码