{"record":{"id":"5d2c65e201911baf","repo":"DioxusLabs/dioxus","slug":"asset-not-found","errorCode":null,"errorMessage":"Asset not found","messagePattern":"Asset not found","errorType":"exception","errorClass":"NativeAssetResolveError","httpStatus":null,"severity":"error","filePath":"packages/asset-resolver/src/native.rs","lineNumber":95,"sourceCode":"        Ok(Response::builder()\n            .header(\"Content-Type\", self.mime_type)\n            .header(\"Access-Control-Allow-Origin\", \"*\")\n            .body(self.body)?)\n    }\n}\n\n/// Read the bytes for an asset\npub(crate) fn resolve_native_asset(path: &str) -> Result<Vec<u8>, NativeAssetResolveError> {\n    // Attempt to serve from the asset dir on android using its loader\n    #[cfg(target_os = \"android\")]\n    {\n        if let Some(asset) = to_java_load_asset(path) {\n            return Ok(asset);\n        }\n    }\n\n    let Some(uri_path) = resolve_asset_path_from_filesystem(path) else {\n        return Err(NativeAssetResolveError::IoError(std::io::Error::new(\n            std::io::ErrorKind::NotFound,\n            \"Asset not found\",\n        )));\n    };\n    Ok(std::fs::read(uri_path)?)\n}\n\n/// Resolve the asset and its mime type\nfn resolve_asset(path: &str) -> Result<Option<ResolvedAsset>, NativeAssetResolveError> {\n    // Attempt to serve from the asset dir on android using its loader\n    #[cfg(target_os = \"android\")]\n    {\n        if let Some(asset) = to_java_load_asset(path) {\n            let extension = path.rsplit_once('.').and_then(|(_, ext)| Some(ext));\n            let mime_type = get_mime_from_ext(extension);\n            return Ok(Some(ResolvedAsset::new(mime_type, asset)));\n        }\n    }","sourceCodeStart":77,"sourceCodeEnd":113,"githubUrl":"https://github.com/DioxusLabs/dioxus/blob/24f6a829df0dfa203961a98ea4cae21c2ff27e28/packages/asset-resolver/src/native.rs#L77-L113","documentation":"Terminal failure of resolve_native_asset: the requested asset path could not be located — the Android java loader had no match and resolve_asset_path_from_filesystem found no file, so the native asset server responds with this NativeAssetResolveError (surfaced as a failed/404 asset fetch for bundled resources).","triggerScenarios":"Thrown at packages/asset-resolver/src/native.rs:95 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["The asset was not found. Check the asset path and ensure it was bundled via the asset!() macro with dx as the linker."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"24f6a829df0dfa203961a98ea4cae21c2ff27e28","analyzedAt":"2026-08-23T07:10:14.078Z","contentChangedAt":"2026-08-23T07:10:14.078Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}