{"record":{"id":"687515acc4e38203","repo":"Tencent/tinker","slug":"patch-resource-file-directory-not-found-warning-w","errorCode":null,"errorMessage":"patch resource file directory not found, warning why the path is null!!!!","messagePattern":"patch resource file directory not found, warning why the 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":292,"sourceCode":"                } 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!!!!\");\n                    throw new TinkerRuntimeException(\"patch resource file directory not found, warning why the path is null!!!!\");\n                }\n                break;\n            case ShareConstants.ERROR_LOAD_PATCH_VERSION_RESOURCE_FILE_NOT_EXIST:\n                if (patchVersionDirectory != null) {\n                    ShareTinkerLog.e(TAG, \"patch resource file not found:%s\", resourceFile.getAbsolutePath());\n                    tinker.getLoadReporter().onLoadFileNotFound(resourceFile,\n                        ShareConstants.TYPE_RESOURCE, false);\n                } else {\n                    //should be not here\n                    ShareTinkerLog.e(TAG, \"patch resource file not found, warning why the path is null!!!!\");\n                    throw new TinkerRuntimeException(\"patch resource file not found, warning why the path is null!!!!\");\n                }\n                break;\n            case ShareConstants.ERROR_LOAD_PATCH_VERSION_RESOURCE_MD5_MISMATCH:\n                if (resourceFile == null) {\n                    ShareTinkerLog.e(TAG, \"resource file md5 mismatch, but patch resource file not found!\");\n                    throw new TinkerRuntimeException(\"resource file md5 mismatch, but patch resource file not found!\");\n                }","sourceCodeStart":274,"sourceCodeEnd":310,"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#L274-L310","documentation":"Error \"patch resource file directory not found, warning why the 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:292 when the library encounters an invalid state.","commonSituations":"Thrown in TinkerLoadResult.parseTinkerResult on ERROR_LOAD_PATCH_VERSION_RESOURCE_DIRECTORY_NOT_EXIST when patchVersionDirectory is null, a state the code marks as 'should not be here'. Indicates corrupted patch application state.","solutions":["Re-apply the patch so the resource directory under the patch version directory is recreated.","Verify the patch package contains a resources.apk / resource entry."],"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"}