{"record":{"id":"4da3bff26cfa0bac","repo":"Tencent/tinker","slug":"unexpected-type","errorCode":null,"errorMessage":"Unexpected type: ","messagePattern":"Unexpected type: ","errorType":"exception","errorClass":"DexException","httpStatus":null,"severity":"error","filePath":"tinker-commons/src/main/java/com/tencent/tinker/commons/dexpatcher/util/AbstractIndexMap.java","lineNumber":496,"sourceCode":"                    break;\n                case EncodedValueReader.ENCODED_ARRAY:\n                    writeTypeAndArg(EncodedValueReader.ENCODED_ARRAY, 0);\n                    transformArray(reader);\n                    break;\n                case EncodedValueReader.ENCODED_ANNOTATION:\n                    writeTypeAndArg(EncodedValueReader.ENCODED_ANNOTATION, 0);\n                    transformAnnotation(reader);\n                    break;\n                case EncodedValueReader.ENCODED_NULL:\n                    reader.readNull();\n                    writeTypeAndArg(EncodedValueReader.ENCODED_NULL, 0);\n                    break;\n                case EncodedValueReader.ENCODED_BOOLEAN:\n                    boolean value = reader.readBoolean();\n                    writeTypeAndArg(EncodedValueReader.ENCODED_BOOLEAN, value ? 1 : 0);\n                    break;\n                default:\n                    throw new DexException(\"Unexpected type: \" + Integer.toHexString(reader.peek()));\n            }\n        }\n\n        private void transformAnnotation(EncodedValueReader reader) {\n            int fieldCount = reader.readAnnotation();\n            Leb128.writeUnsignedLeb128(out, adjustTypeIdIndex(reader.getAnnotationType()));\n            Leb128.writeUnsignedLeb128(out, fieldCount);\n            for (int i = 0; i < fieldCount; i++) {\n                Leb128.writeUnsignedLeb128(out, adjustStringIndex(reader.readAnnotationName()));\n                transform(reader);\n            }\n        }\n\n        private void transformArray(EncodedValueReader reader) {\n            int size = reader.readArray();\n            Leb128.writeUnsignedLeb128(out, size);\n            for (int i = 0; i < size; i++) {\n                transform(reader);","sourceCodeStart":478,"sourceCodeEnd":514,"githubUrl":"https://github.com/Tencent/tinker/blob/1b7ea02c239840f563ea64fb5bd286eb98d4011e/tinker-commons/src/main/java/com/tencent/tinker/commons/dexpatcher/util/AbstractIndexMap.java#L478-L514","documentation":"DexException from AbstractIndexMap's encoded-value transformer: while rewriting annotations/static field values with remapped string/type indices, reader.peek() returned an encoded-value type tag the switch does not handle. The dex contains an encoded value kind this dexlib2 fork does not understand.","triggerScenarios":"Applying a dex patch whose old/new dex contains annotation or encoded-array values of an unknown type tag, during transform() when indices are adjusted and re-written.","commonSituations":"Newer dex features emitted by recent compilers; corrupted encoded-value sections; patch generated/applied across mismatched Tinker versions.","solutions":["Upgrade Tinker so the bundled dexlib2 knows the newer encoded value types","Simplify/annotate less: identify the offending annotation (the hex tag hints at the type) and adjust build config","Regenerate the patch with matched generator/applier versions"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n    applier.executeAndSaveTo(out);\n} catch (com.android.dex.DexException e) {\n    if (String.valueOf(e.getMessage()).startsWith(\"Unexpected type\")) {\n        // unknown encoded value tag: upgrade Tinker or simplify annotations\n    } else { throw e; }\n}","preventionTips":["Keep generator and applier Tinker versions identical","Smoke-test patches against apps using newer annotation processors before full rollout"],"tags":["dexpatcher","encoded-value","annotation","version-mismatch"],"backgroundTag":null,"analyzedSha":"1b7ea02c239840f563ea64fb5bd286eb98d4011e","analyzedAt":"2026-08-14T15:16:52.110Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}