diff --git a/dexlib2/src/main/java/org/jf/dexlib2/writer/DexFile.java b/dexlib2/src/main/java/org/jf/dexlib2/writer/DexFile.java index e63609c0..7c7c8a96 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/writer/DexFile.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/writer/DexFile.java @@ -81,6 +81,7 @@ public class DexFile { case ValueType.ANNOTATION: AnnotationEncodedValue annotationEncodedValue = (AnnotationEncodedValue)encodedValue; Collection annotationElements = annotationEncodedValue.getElements(); + writer.writeEncodedValueHeader(valueType, 0); writer.writeUleb128(typePool.getIndex(annotationEncodedValue.getType())); writer.writeUleb128(annotationElements.size()); for (AnnotationElement element: annotationElements) { @@ -91,6 +92,7 @@ public class DexFile { case ValueType.ARRAY: ArrayEncodedValue arrayEncodedValue = (ArrayEncodedValue)encodedValue; Collection elements = arrayEncodedValue.getValue(); + writer.writeEncodedValueHeader(valueType, 0); writer.writeUleb128(elements.size()); for (EncodedValue element: elements) { writeEncodedValue(writer, element);