{"record":{"id":"64951cf655c86775","repo":"Tencent/tinker","slug":"patch-dex-file-md5-is-mismatch-but-path-is-null","errorCode":null,"errorMessage":"patch dex file md5 is mismatch, but path is null!!!!","messagePattern":"patch dex file md5 is mismatch, but path is null!!!!","errorType":"exception","errorClass":"TinkerRuntimeException","httpStatus":null,"severity":"error","filePath":"tinker-android/tinker-android-lib-no-op/src/main/java/com/tencent/tinker/lib/tinker/TinkerLoadResult.java","lineNumber":273,"sourceCode":"                    ShareTinkerLog.e(TAG, \"patch lib file not found:%s\", libPath);\n                    tinker.getLoadReporter().onLoadFileNotFound(new File(libPath),\n                        ShareConstants.TYPE_LIBRARY, false);\n                } else {\n                    ShareTinkerLog.e(TAG, \"patch lib file not found, but path is null!!!!\");\n                    throw new TinkerRuntimeException(\"patch lib file not found, but path is null!!!!\");\n                    // tinker.getLoadReporter().onLoadFileNotFound(null,\n                    //     ShareConstants.TYPE_LIBRARY, false);\n                }\n                break;\n            case ShareConstants.ERROR_LOAD_PATCH_VERSION_DEX_CLASSLOADER_NULL:\n                ShareTinkerLog.e(TAG, \"patch dex load fail, classloader is null\");\n                break;\n            case ShareConstants.ERROR_LOAD_PATCH_VERSION_DEX_MD5_MISMATCH:\n                String mismatchPath = ShareIntentUtil.getStringExtra(intentResult,\n                    ShareIntentUtil.INTENT_PATCH_MISMATCH_DEX_PATH);\n                if (mismatchPath == null) {\n                    ShareTinkerLog.e(TAG, \"patch dex file md5 is mismatch, but path is null!!!!\");\n                    throw new TinkerRuntimeException(\"patch dex file md5 is mismatch, but path is null!!!!\");\n                } else {\n                    ShareTinkerLog.e(TAG, \"patch dex file md5 is mismatch: %s\", mismatchPath);\n                    tinker.getLoadReporter().onLoadFileMd5Mismatch(new File(mismatchPath),\n                        ShareConstants.TYPE_DEX);\n                }\n                break;\n            case ShareConstants.ERROR_LOAD_PATCH_REWRITE_PATCH_INFO_FAIL:\n                ShareTinkerLog.i(TAG, \"rewrite patch info file corrupted\");\n                tinker.getLoadReporter().onLoadPatchInfoCorrupted(oldVersion, newVersion, patchInfoFile);\n                break;\n            case ShareConstants.ERROR_LOAD_PATCH_VERSION_RESOURCE_DIRECTORY_NOT_EXIST:\n                if (patchVersionDirectory != null) {\n                    ShareTinkerLog.e(TAG, \"patch resource file directory not found:%s\", resourceDirectory.getAbsolutePath());\n                    tinker.getLoadReporter().onLoadFileNotFound(resourceDirectory,\n                        ShareConstants.TYPE_RESOURCE, true);\n                } else {\n                    //should be not here\n                    ShareTinkerLog.e(TAG, \"patch resource file directory not found, warning why the path is null!!!!\");","sourceCodeStart":255,"sourceCodeEnd":291,"githubUrl":"https://github.com/Tencent/tinker/blob/1b7ea02c239840f563ea64fb5bd286eb98d4011e/tinker-android/tinker-android-lib-no-op/src/main/java/com/tencent/tinker/lib/tinker/TinkerLoadResult.java#L255-L291","documentation":"Error \"patch dex file md5 is mismatch, but path is null!!!!\" thrown in Tencent/tinker.","triggerScenarios":"Thrown at tinker-android/tinker-android-lib-no-op/src/main/java/com/tencent/tinker/lib/tinker/TinkerLoadResult.java:273 when the library encounters an invalid state.","commonSituations":"Thrown in TinkerLoadResult.parseTinkerResult on ERROR_LOAD_PATCH_VERSION_DEX_MD5_MISMATCH when the mismatch path extra is null. Indicates patch dex corruption, often from partial downloads or tampered patch files.","solutions":["Regenerate or re-download the patch; the dex MD5 does not match the value recorded in the patch info.","Ensure the patch intent includes INTENT_PATCH_MISMATCH_DEX_PATH so the mismatching file can be reported."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"1b7ea02c239840f563ea64fb5bd286eb98d4011e","analyzedAt":"2026-08-14T15:16:52.110Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}