{"record":{"id":"f36261264db9cff1","repo":"Tencent/tinker","slug":"patch-lib-file-directory-not-found-warning-why-th","errorCode":null,"errorMessage":"patch lib file directory not found, warning why the path is null!!!!","messagePattern":"patch lib 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":243,"sourceCode":"                    tinker.getLoadReporter().onLoadFileNotFound(new File(dexOptPath),\n                        ShareConstants.TYPE_DEX_OPT, false);\n\n                } else {\n                    ShareTinkerLog.e(TAG, \"patch dex opt file not found, but path is null!!!!\");\n                    throw new TinkerRuntimeException(\"patch dex opt file not found, but path is null!!!!\");\n                    // tinker.getLoadReporter().onLoadFileNotFound(null,\n                    //     ShareConstants.TYPE_DEX, false);\n                }\n                break;\n            case ShareConstants.ERROR_LOAD_PATCH_VERSION_LIB_DIRECTORY_NOT_EXIST:\n                if (patchVersionDirectory != null) {\n                    ShareTinkerLog.e(TAG, \"patch lib file directory not found:%s\", libraryDirectory.getAbsolutePath());\n                    tinker.getLoadReporter().onLoadFileNotFound(libraryDirectory,\n                        ShareConstants.TYPE_LIBRARY, true);\n                } else {\n                    //should be not here\n                    ShareTinkerLog.e(TAG, \"patch lib file directory not found, warning why the path is null!!!!\");\n                    throw new TinkerRuntimeException(\"patch lib file directory not found, warning why the path is null!!!!\");\n\n                    // tinker.getLoadReporter().onLoadFileNotFound(null,\n                    //     ShareConstants.TYPE_LIBRARY, true);\n                }\n\n                break;\n            case ShareConstants.ERROR_LOAD_PATCH_VERSION_LIB_FILE_NOT_EXIST:\n                String libPath = ShareIntentUtil.getStringExtra(intentResult,\n                    ShareIntentUtil.INTENT_PATCH_MISSING_LIB_PATH);\n                if (libPath != null) {\n                    //we only pass one missing file and then we break\n                    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,","sourceCodeStart":225,"sourceCodeEnd":261,"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#L225-L261","documentation":"Error \"patch lib 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:243 when the library encounters an invalid state.","commonSituations":"Thrown in TinkerLoadResult.parseTinkerResult on ERROR_LOAD_PATCH_VERSION_LIB_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 lib directory under the patch version directory is recreated.","Verify the patch package actually contains native libraries matching the device ABI."],"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-15T22:17:37.221Z"}