Tencent/tinker · error · TinkerRuntimeException
error patch package check fail , but file is null
Error message
error patch package check fail , but file is null
What it means
Error "error patch package check fail , but file 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:187
case ShareConstants.ERROR_LOAD_PATCH_VERSION_DIRECTORY_NOT_EXIST:
ShareTinkerLog.e(TAG, "patch version directory not found, current version:%s", currentVersion);
tinker.getLoadReporter().onLoadFileNotFound(patchVersionDirectory,
ShareConstants.TYPE_PATCH_FILE, true);
break;
case ShareConstants.ERROR_LOAD_PATCH_VERSION_FILE_NOT_EXIST:
ShareTinkerLog.e(TAG, "patch version file not found, current version:%s", currentVersion);
if (patchVersionFile == null) {
throw new TinkerRuntimeException("error load patch version file not exist, but file is null");
}
tinker.getLoadReporter().onLoadFileNotFound(patchVersionFile,
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);View on GitHub (pinned to 1b7ea02c23)
Solutions
- Regenerate the patch package; the signature or meta check failed and the patch file reference was null.
- Ensure TinkerInstaller receives a valid, non-null patch file path for the package check step.
When it happens
Trigger: Thrown at tinker-android/tinker-android-lib-no-op/src/main/java/com/tencent/tinker/lib/tinker/TinkerLoadResult.java:187 when the library encounters an invalid state.
Common situations: Thrown in TinkerLoadResult.parseTinkerResult on ERROR_LOAD_PATCH_PACKAGE_CHECK_FAIL when patchVersionFile is null. Indicates the patch package failed verification and its file reference was lost.
AI-assisted analysis of Tencent/tinker@1b7ea02c23 (2026-08-14).
Data as JSON: /api/errors/c9be13299442bf69.
Report an issue: GitHub.