Tencent/tinker · error · TinkerRuntimeException
patch dex file directory not found, warning why the path is
Error message
patch dex file directory not found, warning why the path is null!!!!
What it means
Error "patch dex file directory not found, warning why the 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:200
ShareConstants.TYPE_PATCH_FILE, false);
break;
case ShareConstants.ERROR_LOAD_PATCH_PACKAGE_CHECK_FAIL:
ShareTinkerLog.i(TAG, "patch package check fail");
if (patchVersionFile == null) {
throw new TinkerRuntimeException("error patch package check fail , but file is null");
}
int errorCode = intentResult.getIntExtra(ShareIntentUtil.INTENT_PATCH_PACKAGE_PATCH_CHECK, ShareConstants.ERROR_LOAD_GET_INTENT_FAIL);
tinker.getLoadReporter().onLoadPackageCheckFail(patchVersionFile, errorCode);
break;
case ShareConstants.ERROR_LOAD_PATCH_VERSION_DEX_DIRECTORY_NOT_EXIST:
if (dexDirectory != null) {
ShareTinkerLog.e(TAG, "patch dex file directory not found:%s", dexDirectory.getAbsolutePath());
tinker.getLoadReporter().onLoadFileNotFound(dexDirectory,
ShareConstants.TYPE_DEX, true);
} else {
//should be not here
ShareTinkerLog.e(TAG, "patch dex file directory not found, warning why the path is null!!!!");
throw new TinkerRuntimeException("patch dex file directory not found, warning why the path is null!!!!");
}
break;
case ShareConstants.ERROR_LOAD_PATCH_VERSION_DEX_FILE_NOT_EXIST:
String dexPath = ShareIntentUtil.getStringExtra(intentResult,
ShareIntentUtil.INTENT_PATCH_MISSING_DEX_PATH);
if (dexPath != null) {
//we only pass one missing file
ShareTinkerLog.e(TAG, "patch dex file not found:%s", dexPath);
tinker.getLoadReporter().onLoadFileNotFound(new File(dexPath),
ShareConstants.TYPE_DEX, false);
} else {
ShareTinkerLog.e(TAG, "patch dex file not found, but path is null!!!!");
throw new TinkerRuntimeException("patch dex file not found, but path is null!!!!");
// tinker.getLoadReporter().onLoadFileNotFound(null,
// ShareConstants.TYPE_DEX, false);
}
break;View on GitHub (pinned to 1b7ea02c23)
Solutions
- Confirm the patch was applied successfully so the dex directory exists under the patch version directory.
- Treat a null dexDirectory as an internal error: re-apply the patch rather than retrying the load.
When it happens
Trigger: Thrown at tinker-android/tinker-android-lib-no-op/src/main/java/com/tencent/tinker/lib/tinker/TinkerLoadResult.java:200 when the library encounters an invalid state.
Common situations: Thrown in TinkerLoadResult.parseTinkerResult on ERROR_LOAD_PATCH_VERSION_DEX_DIRECTORY_NOT_EXIST when dexDirectory is null, a state the code marks as 'should not be here'. Indicates corrupted patch application state.
AI-assisted analysis of Tencent/tinker@1b7ea02c23 (2026-08-14).
Data as JSON: /api/errors/ed0f3ee944189489.
Report an issue: GitHub.