Tencent/tinker · error · TinkerRuntimeException
patch dex file md5 is mismatch, but path is null!!!!
Error message
patch dex file md5 is mismatch, but path is null!!!!
What it means
Error "patch dex file md5 is mismatch, but path is null!!!!" thrown in Tencent/tinker.
Source
Thrown at tinker-android/tinker-android-lib-no-op/src/main/java/com/tencent/tinker/lib/tinker/TinkerLoadResult.java:273
ShareTinkerLog.e(TAG, "patch lib file not found:%s", libPath);
tinker.getLoadReporter().onLoadFileNotFound(new File(libPath),
ShareConstants.TYPE_LIBRARY, false);
} else {
ShareTinkerLog.e(TAG, "patch lib file not found, but path is null!!!!");
throw new TinkerRuntimeException("patch lib file not found, but path is null!!!!");
// tinker.getLoadReporter().onLoadFileNotFound(null,
// ShareConstants.TYPE_LIBRARY, false);
}
break;
case ShareConstants.ERROR_LOAD_PATCH_VERSION_DEX_CLASSLOADER_NULL:
ShareTinkerLog.e(TAG, "patch dex load fail, classloader is null");
break;
case ShareConstants.ERROR_LOAD_PATCH_VERSION_DEX_MD5_MISMATCH:
String mismatchPath = ShareIntentUtil.getStringExtra(intentResult,
ShareIntentUtil.INTENT_PATCH_MISMATCH_DEX_PATH);
if (mismatchPath == null) {
ShareTinkerLog.e(TAG, "patch dex file md5 is mismatch, but path is null!!!!");
throw new TinkerRuntimeException("patch dex file md5 is mismatch, but path is null!!!!");
} else {
ShareTinkerLog.e(TAG, "patch dex file md5 is mismatch: %s", mismatchPath);
tinker.getLoadReporter().onLoadFileMd5Mismatch(new File(mismatchPath),
ShareConstants.TYPE_DEX);
}
break;
case ShareConstants.ERROR_LOAD_PATCH_REWRITE_PATCH_INFO_FAIL:
ShareTinkerLog.i(TAG, "rewrite patch info file corrupted");
tinker.getLoadReporter().onLoadPatchInfoCorrupted(oldVersion, newVersion, patchInfoFile);
break;
case ShareConstants.ERROR_LOAD_PATCH_VERSION_RESOURCE_DIRECTORY_NOT_EXIST:
if (patchVersionDirectory != null) {
ShareTinkerLog.e(TAG, "patch resource file directory not found:%s", resourceDirectory.getAbsolutePath());
tinker.getLoadReporter().onLoadFileNotFound(resourceDirectory,
ShareConstants.TYPE_RESOURCE, true);
} else {
//should be not here
ShareTinkerLog.e(TAG, "patch resource file directory not found, warning why the path is null!!!!");View on GitHub (pinned to 1b7ea02c23)
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.
When it happens
Trigger: 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.
Common situations: 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.
AI-assisted analysis of Tencent/tinker@1b7ea02c23 (2026-08-14).
Data as JSON: /api/errors/64951cf655c86775.
Report an issue: GitHub.